[英]Having more then one Jquery Dialog box and only closing one instance at a time
我正在尝试在同一站点中实现Jquery对话框的多个实例。 问题是我有两个实例,这些实例是使用new'able函数启动的,如下所示:
function Modal(param) {
this.modal = null;var that = this;
var init = funciton (param) {
that.setupWindow(param);
}
this.setupWindow = function (param) {
var selector = param.selector;
var params = {} // dialog options go here
this.modal = $(selector);
this.modal.dialog(params);
}
}
var f_inst = new Modal({selector: '#f_modal'});
var s_inst = new Modal({selector: '#s_modal'});
问题:如果我调用f_inst.modal.dialog('close')或s_inst.modal.dialog('close'),则此操作实际上将关闭对话框的两个实例。
这两个对话框使用两个不同的模板来呈现它们。
如果这是jquery ui对话框中的默认行为,那么还有人有更好的解决方案吗?
当尝试具有多个容器窗口小部件实例时,YUI 2容器模式窗口小部件效果很好。 我试图找到一种提供类似功能的模式。
提前致谢。
-埃里克
我认为您想在所有情况下都将其更改为
function Modal(param) {
var that = this;
that.modal = null;
var init = funciton (param) {
that.setupWindow(param);
}
that.setupWindow = function (param) {
var selector = param.selector;
var params = {} // dialog options go here
that.modal = $(selector);
that.modal.dialog(params);
}
}
var f_inst = new Modal({selector: '#f_modal'});
var s_inst = new Modal({selector: '#s_modal'});
我没有对此进行测试-但我相信this.setUpWindow与只有一个的Modal函数相关联,即使您新建了多个实例,它们也引用了相同的对象/函数
通过将所有内容连接到该var,您实际上将获得单独的实例
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.