Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mootools确认对话框,该对话框将在取消时停止ajax功能。_Javascript_Hyperlink_Mootools_Confirmation - Fatal编程技术网

Javascript Mootools确认对话框,该对话框将在取消时停止ajax功能。

Javascript Mootools确认对话框,该对话框将在取消时停止ajax功能。,javascript,hyperlink,mootools,confirmation,Javascript,Hyperlink,Mootools,Confirmation,我在一些链接上设置了一个JavaScript弹出窗口“确认对话”,当点击链接时,它会显示“确定吗?”并允许您确认或取消,但是无论您选择什么,ajax调用都会工作 <a onclick="return confirm(\'Are you sure?\')" class="sendEmailLink" href="/" id="someID">Send</a> 确认对话框不会停止上面的代码,这是有道理的,但我无法理解如何在mootools中实现这一点。帮忙 我需要一个对话框

我在一些链接上设置了一个JavaScript弹出窗口“确认对话”,当点击链接时,它会显示“确定吗?”并允许您确认或取消,但是无论您选择什么,ajax调用都会工作

<a onclick="return confirm(\'Are you sure?\')" class="sendEmailLink" href="/" id="someID">Send</a>
确认对话框不会停止上面的代码,这是有道理的,但我无法理解如何在mootools中实现这一点。帮忙

我需要一个对话框,提供是或否的选择,如果是,则继续ajax请求,如果不是,则不继续请求

谢谢

以下是解决方案:

一些评论:

  • 不要再在Mootools中使用$$或$。他们被弃用了

  • 在您要绑定的代码中,单击事件链接。此外,您还添加了属性
    onClick
    ,该属性将首先运行自己的代码,然后再运行绑定代码。这就像您将两个单独的事件添加到链接


  • 与前面提到的@Marcin一样,您将两个click事件绑定到一个元素,因此无论确认对话框的结果如何,您的ajax调用照常进行也就不足为奇了

    通过不通过
    onclick
    属性将事件绑定到元素来消除一个。(切勿使用
    onclick
    !)

    这里有一个适合你玩的游戏

    $$('.sendEmailLink').addEvent('click', function(e)
    {
        e.stop();
    
        (I assume something should go here)
    
        var myRequest = new Request.JSON({
        etc... 
    
    element.addEvent('click', function() {
        if (confirm('Are you sure?')) {
            new Request.JSON({
                // ...
            }).send();
        } else {
            // Do nothing
        }
    });