gpt4 book ai didi

javascript - 如何将事件绑定(bind)到模态对话框上的组件?

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:11 24 4
gpt4 key购买 nike

我正在使用 jQuery 的 modal dialog用于打开包含表单的对话框。我无法解决的是如何将事件绑定(bind)到添加到我的模式对话框中的组件。在这种情况下,我想将单击或更改绑定(bind)到已定位在对话框中的复选框。加载对话框时似乎没有触发任何成功方法。我是这样做的:

这是我在我的 javascript 的开头做的,在就绪函数的开头:

$( "#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 在对话框完成加载之前被触发。但是验证处理程序(调用绑定(bind)验证检查的验证函数)有效。

警报(“点击”);永远不会被触发。

如何将任何事件绑定(bind)到模态对话框上的组件?创建对话框时是否有任何回调函数。

最佳答案

由于您的选择将在#dialog-modal 中并且因为#dialog-modal 出现在 domready 上(并且从未被销毁?),您可以使用 $.on()

$('#dialog-modal').on('click', '#select_all', function(e){
alert('clicked');
});

但是当您将#select_all 包含到 dom 中时,您也可以绑定(bind)点击事件。

$.get("https://" + hostname +  "/modules/core/useradmin/adminactivities/admin_add_agent.php",function(e){
var obj = $.parseJSON(e);
$("#dialog-modal").html(obj.html);
$('#select_all').click(function(e){
alert('clicked');
});
$("#dialog-modal").dialog("open");
addAddAgentValidation();
}

关于javascript - 如何将事件绑定(bind)到模态对话框上的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11632288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com