Easyui 创建dialog的两种方式,以及他们带来的问题
$('#yy'
).dialog
('open');//打开dialog
这地方要注意,加入你关闭窗口的地方使用$('#yy'
).dialog('destroy');那么你这个dialog就只能使用一次,为什么呢,因为这地方你创建的是一个固定位置的dialog,因为你是把dialog固定在了上面的div中,这时你只能使用close,即$(
'#yy'
).dialog('close');close即是把当前窗口隐藏,但没有销毁,所以你可能遇到的问题就是,下次再次打开这个窗口的时候,里面还是上次的内容。
如果使用destroy,那么整个dialog组件都被销毁了,所以只能使用第一次,第二次再怎么点也没用。那有解决的办法吗,肯定是有的。
方法二:
dialog的第二种创建方式就是,创建一个临时的对话窗口,不用在jsp写个div啥的。直接在js中写就可以了,如下
$('<div/>'
).dialog({
.....//添加一些属性,比如加载,按钮等
}
这地方关闭的时候可以destroy了
我在最外层的div中写个overflow:hidden,目的就是让下面的内容超出框架后,使用滚动条,但大家要注意,使用滚动条,最起码这个框架的位置得是固定的吧,即需要在div外层的div给一个postion=relative啊,当然firefox和谷歌只要不是IE内核的,即使你这地方没有固定位置也没问题,人家浏览器强大嘛。但问题就在IE中,不理你这套,必须按照规矩来,那怎么办呢,反正我是弄了很久。
方法一:放弃使用临时dialog,即第二种创建方式,使用第一种创建方式,但每次打开一个dialog都要刷新才能用,太蛋疼啦。
方法二:很简单
$('<div style="position:relative"/>'
).dialog({
.....//添加一些属性,比如加载,按钮等
}
对就只要在上面的 div后面加个style="position:relative“就搞定了,希望这能帮助在兼容性折磨下的你吧
转自:http://www.ithao123.cn/content-5611961.html
dialog创建方法有两种,一种就是直接$(‘div’).dialog()方式创建,一种就是在页面中写一个div,如<div id=”test”></div>,$(“#test”).dialog().第一种方法在关闭过后,div就会消失,而第二种方法在关闭过后,div仍然存在,但是使用destroy方法后,会使这个div方法不可用.
使用第二种关闭dialog,直接$(id).dialog(“close”)就可以直接关闭
主要说的是第二种,在第二种当中,如果是要在定义的按钮事件中执行关闭操作的话,可以这样写
$(this).closest(.window-body).dialog("close")
如果是在dialog事件中关闭dialog可以这样写
$("this").dialog("close")
为什么可以这样写,我们可以在生成一个dialog的时候,跟踪dialog的结构,比如我使用第二种方法生成一个dialog,那么带有id的div在生成dialog后,会变成如下所示
如图所示,如果是id创造的话,可以直接使用$(“#add”).dialog(“close”)关闭,所以$(this).closest(.window-body).dialog("close")也可以关闭
Easyui 创建dialog的两种方式,以及他们带来的问题的更多相关文章
- 【java并发】传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- 创建TabHost的两种方式的简单分析
最近做了一个TabHost的界面,在做的过程中发现了一些问题,故和大家分享一下. 首先我的界面如下: 目前就我所知,创建TabHost有两种方式,第一种是继承TabActivity类,然后用getTa ...
- 创建线程的两种方式比较Thread VS Runnable
1.首先来说说创建线程的两种方式 一种方式是继承Thread类,并重写run()方法 public class MyThread extends Thread{ @Override public vo ...
- ubuntu创建用户的两种方式
ubuntu创建用户有两种方式: useradd和adduser 这两者,就像零件与产品的关系.useradd是DIY,需要自己调配,adduser是品牌机,拿来就能用. 对于创建一般用户来讲,use ...
- Spring创建JobDetail的两种方式
一.Spring创建JobDetail的两种方式 二.整合方式一示例步骤 1.将spring核心jar包.quartz.jar和Spring-context-support.jar导入类路径. 2.编 ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- Java值创建线程的两种方式对比
在Java中创建线程的方式有两种,第一种是直接继承Thead类,另一种是实现Runable接口.那么这两种方式孰优孰劣呢? 采用继承Thead类实现多线程: 优势:编写简单,如果需要访问当前线程,只需 ...
- 创建线程的两种方式:继承Thread类和实现Runnable接口
第一种方式:继承Thread类 步骤:1.定义类继承Thread 2.覆写Threa类的run方法. 自定义代码放在run方法中,让线程运行 3.调用线程的star方法, 该线程有两个作用:启动线程, ...
- k8s 创建资源的两种方式 - 每天5分钟玩转 Docker 容器技术(124)
命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1. 用 kubectl 命令直接创建,比如: kubectl run nginx-deployment --image=nginx ...
随机推荐
- dialog统一标准调用方法(内部记录)
更新base-config.js 对话框统一为三种形式(如后期需要再添加其他方式) //对话框--确定取消 //dialogOkFun:确定函数 dialogCancelFun:取消函数 functi ...
- [Bootstrap] 8. 'Collapse', data-target, data-toggle & data-parent
Using Bootstrap JavaScript Plugins If we want to add behavior to our website, which of the following ...
- ME21N/ME22N/ME23N屏幕增强BADI ME_GUI_PO_CUST
最近想更深入学习下classic BADI, 以前没玩过BADI屏幕增强, 所以决定玩一下. 这次的屏幕增强主要用到两个BADI: ME_GUI_PO_CUST和ME_PROCESS_PO_CUST ...
- AIR 程序开发系列 之五 保存数据的几种方式
Local SharedObject 这种方法比较简单方便的保存少的数据到到设备中.你不用自己去管理这些数据,设备会自动管理他. SharedObject 在 flash.net 包中,继承自Even ...
- PAT 1010
1010. Radix (25) Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 11 ...
- 用C# sqlserver实现增删改查
using System.Data;using System.Data.SqlClient;//先打开两个类库文件SqlConnection con = new SqlConnection(); // ...
- 浅谈iOS中的视图优化
引言: 让我们来思考几个问题,你开发过的产品,它还有可以优化的地方吗?能增加它的帧率吗?能减少多余的CPU计算吗?是不是存在多余的GPU渲染?业务这点工作量对于越来越强大的设备面前显得微不足道,但作为 ...
- ios存储 plist 偏好设置 自定义对象存储
1,plist Plist注意:不能存储自定义对象 Plist:数组和字典, 如何判断一个对象能不能使用Plist,就看下有没有writeToFile 获取应用的文件夹(应用沙盒) NSString ...
- 主流存储引擎详解:Innodb,Tokudb、Memory、MYISAM、Federated
主流存储引擎: Innodb:推荐使用,主力引擎,使用99%以上的场景 Tokudb:高速写入使用,日用量大量写入eg:500G可压缩为50G.适用于访问日志的写入,相对MYISAM有事务性,相对于I ...
- 《Mysql 公司职员学习篇》 第二章 小A的惊喜
第二章 小A的惊喜 ---- 认识数据库 吃完饭后,小Y和小A回到了家里,并打开电脑开始学习Mysql. 小Y:"小A,你平时的Excell文件很多的情况下,怎么样存放Exce ...