繁体   English   中英

具有多个Jquery对话框,并且一次仅关闭一个实例

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM