14

アラートのOKボタンのクリックイベントをキャプチャする方法はありますか? jQueryで?

4

6 に答える 6

16

alert()関数はあり、synchronousクリックされたものを確認することはできません (何も返されません)。そのため、呼び出しの下のコードは、閉じられた後に実行されます ([OK] または [閉じる] ボタン)。アラートは、ユーザー入力を取得するために使用されません。これは警告、ユーザーへのメッセージです。ユーザーが何を望んでいるのかを確認する必要がある場合は、 を使用する必要がありますconfirm()。関数名がアラートのようにその目的を示していることに注意してください。

何かのようなもの:

// 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.
}
于 2012-07-24T22:37:12.787 に答える
9

免責事項:これは非常に悪いことです。

技術的には、次のコードでフックできます。

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");

</p>

デモ: http://jsfiddle.net/W4d7J/1/

于 2012-07-24T22:41:18.800 に答える
2

window.alert() のイベントはありません。基本的に、[OK] をクリックすると次の行が呼び出されます。なぜあなたがそれを聞く必要があるのか​​ わかりません。

于 2012-07-24T22:36:53.857 に答える
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>
于 2015-10-31T19:10:55.177 に答える