0

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

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

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

selector: "",

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

4

1 回答 1

1

在您的打开回调中, 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

于 2013-07-16T17:49:56.097 回答