dialogopen上的jQuery UI对话框返回选择器

时间:2013-07-15 01:12:50

标签: jquery jquery-ui jquery-ui-dialog

我正在向jQuery UI对话框中添加一些实用程序函数,我需要一种方法来在将功能附加到每个打开的对话框时获取选择器:

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

我发现在对象中,选择器是空的:

selector: "",

我不相信每个对话框都会被id打开,那么如何在dialogopen上找到选择器呢?

1 个答案:

答案 0 :(得分:0)

在你的开放回调中,event.currentTarget是对话框的引用。

因此,以下内容将为您提供正在拨打的div。

$(function () {
    $(document).on("dialogopen", ".ui-dialog", function (event, ui) {
        var $div = $(event.currentTarget).find('.ui-dialog-content');

        // Do something with the div
    });

    $('#mydialog').dialog();
});

然后,您可以获取id属性或使用$ div.hasClass来确定它是哪个div。

或者您可以在对话之前将选择器作为数据属性添加到div。看看这个jsFiddle