Javascript jQuery对话框模式在单击时被调用两次
所以。。。我有一个网站 jQuery对话框正在向发送ajax请求 当您到达页面时,会自动弹出一个窗口。请把那个放在一边 单击此图像时…Javascript jQuery对话框模式在单击时被调用两次,javascript,jquery,jquery-ui,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Jquery Ui Dialog,所以。。。我有一个网站 jQuery对话框正在向发送ajax请求 当您到达页面时,会自动弹出一个窗口。请把那个放在一边 单击此图像时… 与此函数调用关联的… $(function() { $("#compliance").dialog({ autoOpen: true, modal: true, width: 750, height: 'auto', show: 'fade', hide:
与此函数调用关联的…
$(function() {
$("#compliance").dialog({
autoOpen: true,
modal: true,
width: 750,
height: 'auto',
show: 'fade',
hide: 'fade',
position: {my: "center top", at:"center top", of: window },
buttons: {
"Dismiss": function() {
$(this).dialog("close");
}
}
});
$(".dialogify").on("click", function(e) {
e.preventDefault();
$("#compliance").html("");
$("#compliance").dialog("option", "title", "Loading...").dialog("open");
$("#compliance").load(this.href, function() {
$(this).dialog("option", "title", $(this).find("h1").text());
$(this).find("h1").remove();
});
});
});
还是这个…与此功能关联的…
$(function() {
$("#switch").dialog({
autoOpen: false,
modal: true,
width: 750,
height: 'auto',
show: 'fade',
hide: 'fade',
position: {my: "center top", at:"center top", of: window },
buttons: {
"Dismiss": function() {
$(this).dialog("close");
}
}
});
$(".dialogify").on("click", function(e) {
e.preventDefault();
$("#switch").html("");
$("#switch").dialog("option", "title", "Loading...").dialog("open");
$("#switch").load(this.href, function() {
$(this).dialog("option", "title", $(this).find("h1").text());
$(this).find("h1").remove();
});
});
});
…出现了一个模态。但似乎出现了两种情态动词。不透明的背景比它应该的颜色暗。当你忽略第一个,还有另一个,因为背景变淡了
这是为什么?我只为每个调用一个函数。嗯,您有两个显示对话框的事件处理程序,它们都由相同的操作触发(单击任何.dialogify
)。因此,这两个处理程序都试图处理对这两个元素的单击;单击任何一个都会显示两个对话框(尽管它们加载相同的内容,因为this.href
对于每个单击目标是唯一的)。您可以通过将警报(“a”)
放在第一个处理程序中,将警报(“b”)
放在第二个处理程序中来确认这一点
$(function() {
$("#compliance").dialog({
autoOpen: true,
modal: true,
width: 750,
height: 'auto',
show: 'fade',
hide: 'fade',
position: {my: "center top", at:"center top", of: window },
buttons: {
"Dismiss": function() {
$(this).dialog("close");
}
}
});
$(".dialogify").on("click", function(e) {
e.preventDefault();
$("#compliance").html("");
$("#compliance").dialog("option", "title", "Loading...").dialog("open");
$("#compliance").load(this.href, function() {
$(this).dialog("option", "title", $(this).find("h1").text());
$(this).find("h1").remove();
});
});
});
与此相反,只需使用唯一标识每个事件的单击目标的选择器,问题就会得到解决。您应该使用此选项发布问题示例,否则问题对除您之外的任何人都没有帮助。看这里,我一直在这里用小提琴。我只是不知道如何用ajax请求复制错误。否则我会的,这就是问题所在。忘了那些课。谢谢你,乔恩!