有没有办法捕获警报ok按钮单击事件?

时间:2012-07-24 22:30:57

标签: javascript jquery

有没有办法捕获警报ok按钮点击事件?在jQuery?

6 个答案:

答案 0 :(得分:11)

alert()函数是同步的,你无法验证被点击的内容(它不会返回任何内容),因此调用后的代码将在关闭后执行(ok或关闭按钮)。警报不用于获取用户输入。这是一个警报,给用户一条消息。如果您需要检查用户想要的内容,则应使用confirm()。请注意,函数名称告诉其目的,如alert。

类似的东西:

// if the ok button is clicked, result will be true (boolean)
var result = confirm( "Do you want to do this?" );

if ( result ) {
    // the user clicked ok
} else {
    // the user clicked cancel or closed the confirm dialog.
}

答案 1 :(得分:7)

免责声明:这是一件非常糟糕的事情。

从技术上讲,您可以使用以下代码挂钩:

window.alert = function(al, $){
    return function(msg) {
        al(msg);
        $(window).trigger("okbuttonclicked");
    };
}(window.alert, window.jQuery);



$(window).on("okbuttonclicked", function() {
    console.log("you clicked ok");
});

alert("something");

演示:http://jsfiddle.net/W4d7J/1/

答案 2 :(得分:1)

window.alert()没有事件。基本上是在他们点击确定后调用它的下一行。我不确定你为什么需要听它。

答案 3 :(得分:0)

您可以使用JAlert并将单击处理程序分配给ok按钮。

喜欢的东西。

     jAlert("Alert message goes here."); 
    $('#popup_ok').bind('click',function(){
           //Do operation after clicking ok button.
             function_do_operation();

    });

答案 4 :(得分:0)

我在我创建的网站上试过这个并且它运行得很好:

<a href="javascript:var rslt=confirm('Cancel Appointment Creation');if(rslt){window.open('http://www.the_website_I_want_to_navigate_to.com')}else{}"> << Back </a>

答案 5 :(得分:0)

警报是阻止功能,意味着,如果您不关闭它,则下面的代码将不会执行。 因此,您不必捕获警报关闭事件,只需记下该警报下面的代码,当警报窗口关闭时,下面的代码将自动执行。

  

见下面的例子:

alert("Close Me");
// Write down the code here, which will executed only after the alert close