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 ...
随机推荐
- ASM 图解
http://www.askmaclean.com/archives/know-oracle-asm-basic-html.html
- 封装的分页jq
(function ($) { $.fn.page = function (options) { var defaults = { divid: "pagediv", count: ...
- 实例源码--Android通讯录源码
下载源码 技术要点: 1.通讯录联 系人的管理 2.接听.打电话 3.发短信 4. 源码带详细的 中文注释 ...... 详细介绍: 1.通讯录联系人的管理 播放器具有播放本地音乐的功能 ...
- C#_Wpf_DataContex上下文整个类绑定
<Window x:Class="UserStore.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2 ...
- 多线程GCD
经常使用:规避很多线程相关的复杂的逻辑 为什么会gcd?因为pthread和nsthread要求开发人员对线程相关的知识了解深入; 手动启动线程:加锁/解锁;造成很多隐患 --> 苹果公司给出了 ...
- Unix网络编程(3)——C/S模型几种情况
UNP第五章描述了在客户端和服务器连接建立之后会出现的几种情况,并给出了解决方案,做一个简单的总结. 先给出这个简单的回射C/S程序的模型如下图. 1.客户端和服务器正常终止连接 客户端从标准输入 ...
- Lucene 搜索功能
搜索过程 图解: 主要 API: IndexSearcher: //所有搜索都通过 IndexSearcher 进行,他们将调用该类中重载的 search() 方法 Query: ...
- hdu 1095 A+B for Input-Output Practice (VII)
A+B for Input-Output Practice (VII) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32 ...
- 通过SPList Definition自定义ListItem打开编辑详细页面
在SharePoint中对列表SPList的操作里,常常希望当增加一个条目后还希望关联做一些其它的操作 而SharePoint自身提供的Item操作页面却没有那么灵活:所以通常情况下,我们专门为其提供 ...
- 为 ASP.NET Web API 创建帮助页
http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/creating-api-help-pages 以前实例 ...
