繁体   English   中英

javascript窗口确认弹出几次

[英]javascript window confirm pops up several times

我正在尝试使用确认方法,但由于某种原因,确认窗口会弹出几次。 我用Google搜索并尝试了不同的东西但不幸的是我无法正常运行。 代码如下:

//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的原因。

“deletePopUpimageCalled”总是只出现一次。 但是“loadAjaxCAlled”出现了好几次。

在成功回调Ajax请求时,我只是隐藏了缩略图div。

你知道我上面的代码有什么问题吗?

谢谢Stefan

可能是附加事件的代码:

$("#deletePopUpImage").click(function(){...});

被调用了好几次。 每次调用.click(...)都会生成一个新的处理程序,在单击该按钮时会触发该处理程序。

一些浏览器将相同的条目堆叠成一个(因此日志不会如此快地扩展),这可能是您多次看不到“deletePopUpimageCalled”的原因。 最好通过在浏览器中调试它来检查它。

好的我发现了问题。 在Ajax成功处理程序中,我设置了已删除的图像的div,以显示:none而不是删除它。 因此divIds可能会发生两次,三次等。更改代码后删除,它运行顺利。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM