2013-08-27 91 views
0

我尝试使用以下方式将默认打开和关闭功能绑定到所有对话框,但是没有任何工作。绑定关闭并打开所有对话框的功能

$(document).on("dialogopen", ".ui-dialog", function(event, ui) {    
    }); 
    $(document).on("dialogclose", ".ui-dialog", function(event, ui) { 
    }); 

$(".ui-dialog").bind("open", function() { 
    }); 
    $(".ui-dialog").bind("close", function() { 
    }); 

你有什么想法,有什么不对吗? 感谢您的帮助。

编辑:

我添加此功能来记录就绪功能。

+0

我的猜测是,该插件可以防止冒泡到文档中,这些事件。 – Barmar

+0

你必须将它分配给用来触发对话框的元素,而不是辅助类 –

+1

似乎工作http://jsfiddle.net/arunpjohny/e9GRZ/1/ –

回答

1

以下代码假定您的所有对话框容器都有.ui-dialog-selector类。这样你可以选择所有的对话框。

$(".ui-dialog-selector").bind("dialogopen", function() { 
    alert('OPen'); 
}); 

同样,你必须结合紧密

$(".ui-dialog-selector").bind("dialogclose", function() { 
    alert('Close dialog'); 
}); 

UPDATE

JS FIDDLE DEMO

在演示中,你可以看到,我有一个DIV ID创建2个对话框之一,与div id两个。 这两个div上都有类别ui-dialog-selector

<div class ='ui-dialog-selector' id ="one" style="display:none"> 
    <input type="text" value ="open one"/> 
</div> 

<div class ='ui-dialog-selector' id ="two" style="display:none"> 
    <input type="text" value ="open two"/> 
</div> 

然后我按照上面显示的那样绑定函数。

+0

我试过这个,但没有工作。你试过这个代码吗?也许我有另一个问题。 – user1874941

+0

我已经测试过它,它的工作原理。看看我发布的js小提琴示例 – Anand

+0

尝试并比较您的代码与我在此处发布的代码的不同之处。 – Anand

1

开放

$(".ui-dialog").bind("dialogopen", function() { 
    alert('Open'); 
}); 

近距离

$(".ui-dialog").bind("dialogclose", function() { 
    alert('Close'); 
});