我正在尝试访问对话框的关闭按钮。我想使用按钮的click事件。我试过这个:
dialogButton = $('#my-dialog').dialog.find("button");
我从我见过的例子中尝试了这个,但它对我没用。如何访问具有部分MVC视图的对话框中的按钮?
$(function () {
$('#my-dialog').dialog({
autoOpen: false,
width: 700,
height: 600,
title: "Schedule",
resizable: false,
modal: false,
buttons: {
"Close": function () {
$(this).dialog("close");
}
}
});
$('.modal').click(function () {
$('#my-dialog').load(this.href, function () {
$(this).dialog('open');
});
return false;
});
});
dialogButton = $('#my-dialog').dialog.find("button");
$('#my-dialog').click(function () {
alert(dialogButton);
});
});
答案 0 :(得分:2)
如果#my-dialog button
已经是DOM的一部分,那么选择button
内的#my-dialog
元素的正确语法是:$('#my-dialog').find('button')
。
但是,当您尝试抓取button
时,可能是DOM中尚不存在dialogButton
元素 - 用户首先必须打开对话框。如果是这种情况,请使用jQuery on
method,如下所示:
$('#my-dialog').on('click', 'button', function() {
alert($(this));
});