JQuery对话框关闭问题
我试图构建Jquery对话框,在屏幕上显示多个弹出窗口,但有时OK按钮不执行任何操作JQuery对话框关闭问题,jquery,Jquery,我试图构建Jquery对话框,在屏幕上显示多个弹出窗口,但有时OK按钮不执行任何操作 function alert_popup_msg(_msg) { var id = "" + (new Date()).getTime(); var popDiv = "<div id='" + id + "' class=\"dialog-size def-popup\"><div class=\"popup-background\"><label class=\"
function alert_popup_msg(_msg)
{
var id = "" + (new Date()).getTime();
var popDiv = "<div id='" + id + "' class=\"dialog-size def-popup\"><div class=\"popup-background\"><label class=\"color-white no-text-shadow center-align font-helv-16-bold std-padding-a\">Alert</label><label class=\"color-white no-text-shadow center-align font-helv-12-reg std-padding-a\">"+_msg+"</label><div class=\"center-align\"><a class=\"btn-simple-black-orange btn-text btn-login\" id=\"okButtonCallBack\">Ok</a></div></div></div> ";
$.mobile.activePage.append(popDiv).trigger("pagecreate");
$( "#" + id ).dialog({
modal: false,
});
$("#okButtonCallBack").click(function(event){
$("#" + id).dialog("close");
$("#" + id).remove();
});
};
function alert\u popup\u msg(\u msg)
{
var id=“”+(新日期()).getTime();
var popDiv=“警报”+_msg+“正常”;
$.mobile.activePage.append(popDiv.trigger)(“pagecreate”);
$(“#”+id).对话框({
莫代尔:错,
});
$(“#确定按钮回调”)。单击(函数(事件){
$(“#”+id).对话框(“关闭”);
$(“#”+id).remove();
});
};
谁能帮我解决这个问题?它阻止用户执行任何操作。即使您导航回同一屏幕,除非刷新整个屏幕,否则弹出窗口仍会显示
谢谢,
Ramesh您的“确定”按钮不应该有id,但应该通过CSS类指定,因为id在定义上是唯一的,并且您的代码当前在多个对话框imho中中断(因为
$(“#示例”)
将始终返回第一个结果)。将id=“OKButonCallback”
更改为class=“OKButonCallback”
,因为ID必须是唯一的。然后编写处理程序:
$(document).on("click", ".okButtonCallBack", function() {
var dialog = $(this).closest(".def-popup");
dialog.dialog("close").remove();
}
此处理程序可以只指定一次,它不需要绑定在
警报弹出消息函数中。在上使用,而不是单击,我建议不要在IDs属性中使用IDs,此时不需要超过1个对话框
这将“侦听”与类对话框ok按钮匹配的正文中的节点更改,并在将回调插入DOM时将其绑定到click
事件。因此,无需多次重新运行此代码
$('body').on('click', '.dialog-ok-button', function(event){
$(".dialog").dialog("close");
$(".dialog").remove();
});
您不能在所有对话框中使用相同的id=“OKButonCallback”
,因为id必须是唯一的。您是否同时使用JQuery Mobile和JQuery UI?它们之间存在一些冲突,包括与对话框的冲突。您正在尝试使用JQuery UI对话框还是JQuery Mobile对话框?您对$.mobile的引用表示您正在使用jquery mobile,但对话框语法是针对jquery UI对话框的。如果您使用的是JQuery Mobile,建议使用JQuery Mobile弹出窗口小部件。文件: