有没有办法在javascript中覆盖alert("")
和confirm("")
?
我使用jQuery,所以如果在这个框架中有办法,我会很感激。
我想做的事情如下:
override alert(msg){
//Show custom stuff here
}
override confirm(msg){
//Show custom stuff here.
return watever;
}
答案 0 :(得分:27)
是和否。你可以简单地替换它们:
window.alert = function(msg){
// stuff
}
但是你不会得到提醒和确认给你的阻止功能,即没有办法让这段代码起作用:
if(confirm('Do Something?')){
// do stuff
}
通常情况下,制作其他功能以做类似的事情比你试图替换它们更好。
答案 1 :(得分:3)
重新定义它:
window.alert = function(msg) { console.log(msg); }
答案 2 :(得分:1)
只需定义名为alert
或confirm
的函数即可。
function alert(){}; function confirm(){};
但是,如果您需要引用原始函数,则应通过分配var oldAlert
或仅在另一个函数内定义alert
来保存对这些函数的引用,以使window.alert
保持不变。< / p>
(function() {
function alert(){}; // alert inside of this scope is your custom function
})();