我正在使用 jQuery 的模式对话框来打开包含表单的对话框。我无法解决的是如何将事件绑定到添加到我的模态对话框中的组件。在这种情况下,我想将单击或更改绑定到对话框中已定位的复选框。加载对话框时似乎没有触发任何成功方法。我就是这样做的:
这是我在我的 javascript 的开头,在 ready-function 的开头做的:
$( "#dialog:ui-dialog" ).dialog( "destroy" );
$( "#dialog-modal" ).dialog({
autoOpen: false,
show: "blind",
hide: "explode",
minWidth: 400,
modal: true
});
稍后我在单击按钮时执行此操作:
$('#dialog-modal').dialog( "option", "title", lang.localized_text.ADD_AGENT);
$('#dialog-modal').live('dialogopen', function(msg){
alert("Opens");
$("#select_all").live('click', function(msg){
alert("clicked");
});
});
$.get("https://" + hostname + "/modules/core/useradmin/adminactivities/admin_add_agent.php",function(e){
var obj = $.parseJSON(e);
$("#dialog-modal").html(obj.html);
$("#dialog-modal").dialog("open");
addAddAgentValidation();
}
});
可以清楚地看到,alert("Opens") 是在对话框打开之前出现的。因此, dialogopen 在对话框完成加载之前被触发。但是验证处理程序(调用绑定验证检查的验证函数)有效。
警报(“点击”);永远不会触发。
如何将任何事件绑定到模态对话框上的组件?创建对话框时是否有任何回调函数。