覆盖警报并在Javascript中确认

时间:2011-04-06 00:57:54

标签: javascript jquery

有没有办法在javascript中覆盖alert("")confirm("")

我使用jQuery,所以如果在这个框架中有办法,我会很感激。

我想做的事情如下:

override alert(msg){
    //Show custom stuff here
}

override confirm(msg){
    //Show custom stuff here.
    return watever;
}

3 个答案:

答案 0 :(得分:27)

是和否。你可以简单地替换它们:

window.alert = function(msg){
    // stuff
}

但是你不会得到提醒和确认给你的阻止功能,即没有办法让这段代码起作用:

if(confirm('Do Something?')){
   // do stuff
}

通常情况下,制作其他功能以做类似的事情比你试图替换它们更好。

答案 1 :(得分:3)

重新定义它:

window.alert = function(msg) { console.log(msg); }

答案 2 :(得分:1)

只需定义名为alertconfirm的函数即可。

function alert(){}; function confirm(){};

但是,如果您需要引用原始函数,则应通过分配var oldAlert或仅在另一个函数内定义alert来保存对这些函数的引用,以使window.alert保持不变。< / p>

(function() {
  function alert(){}; // alert inside of this scope is your custom function
})();