我正在向 jQuery UI 对话框添加一些实用程序功能,并且在将功能附加到每个打开的对话框时,我需要一种方法来获取选择器:
$(document).on("dialogopen", ".ui-dialog", function (event, ui) {
我发现在对象中,选择器是空的:
selector: "",
而且我不能相信每个对话框都会由一个 id 打开,那么如何在 dialogopen 上找到选择器?
我正在向 jQuery UI 对话框添加一些实用程序功能,并且在将功能附加到每个打开的对话框时,我需要一种方法来获取选择器:
$(document).on("dialogopen", ".ui-dialog", function (event, ui) {
我发现在对象中,选择器是空的:
selector: "",
而且我不能相信每个对话框都会由一个 id 打开,那么如何在 dialogopen 上找到选择器?
在您的打开回调中, 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。