Javascript窗口确认弹出几次
javascript window confirm pops up several times
我试图使用确认方法,但由于某种原因,确认窗口弹出几次。我谷歌和尝试不同的东西,但不幸的是,我不能得到它正常运行。代码如下:
//user clicks on the delete button
$("#deletePopUpImage").click(function(){
console.log("deletePopUpimageCalled");
//get the id of the image
id = ($(this).parent().prop("id"));
//create the ajax request
data = "typ=function&functionType=deleteUserImage&id="+id;
//open the confirm box
var r = confirm("Are you sure that you want to delete this image?");
if (r == true) {
console.log("loadAjaxCAlled");
//Ajax call
loadAjax(data);
//hide the image and the loader
hideImagePopup();
} else {
//do nothing
}
});
奇怪的是,确认窗口有时会弹出两次,有时会弹出三次,有时会弹出一次。这就是插入两个console.logs的原因。
" deletepopupimageccalled "总是只出现一次。然而,"loadAjaxCAlled"出现了几次。
在Ajax请求的成功回调中,我只是隐藏了缩略图div。
你知道我上面的代码有什么问题吗?
谢谢Stefan
可能是附加事件的代码:
$("#deletePopUpImage").click(function(){...});
被调用多次。每次调用.click(…)都会生成一个新的处理程序,该处理程序在按钮被单击时触发。
一些浏览器将相同的条目堆叠到一个日志中(因此日志不会扩展得那么快),这可能是你没有多次看到"deletepopupimageccalled"的原因。最好通过在浏览器中调试来检查。
我找到问题了。在Ajax成功处理程序中,我将已删除的图像的div设置为display:none,而不是删除它。因此,除法可以发生两次,三次等。在将代码更改为delete后,它运行得很顺利。
相关文章:
- JS重试函数几次,看看它是否返回true
- 当我触发一个事件时,它会被触发几次,而不是在jQuery中的输入时触发一次
- 如果我刷新几次,为什么我的应用程序会在Chrome中崩溃
- Jquery 动画在单击几次后消失
- 在javascript中使用变量进行循环几次
- 如何避免由其他事件触发的多次窗口大小调整
- Javascript Ajax在几次迭代后就停止在Chrome中工作了
- Masonry在几次调整大小之前无法正确显示图像
- Google Chrome扩展:只创建一次窗口
- 经过几次清理尝试后,主干仍在泄漏内存
- 我的ASP.NET页面怎么能从客户端代码到服务器代码来回几次呢
- 每隔x秒重复几次触发器('click')功能
- live()、delegate()和on()在使用jQuery发出几次ajax请求后停止工作
- 旋转木马javascript几次
- 重新加载几次后,时间和日期消失
- Javascript窗口确认弹出几次
- 运行几次setInterval,然后暂停几秒钟
- Postgresql+Node.js查询在几次尝试后开始失败
- 启动facebook喜欢脚本几次没有解析现有的喜欢按钮
- 保存当前窗口URL,并在几次导航后移回该URL