jQuery是可以bind()到alert()事件,所以我可以绕过默认的消息框

时间:2011-09-09 19:48:49

标签: javascript jquery jquery-ui

我想绑定一个事件,但我不确定它是否可能。我在一个项目中有几个编码器,其中一些使用标准的alert()函数。我希望在它启动并显示一个jquery ui模块时捕获该事件。这甚至可能吗?我知道我可以通过一个对话框()替换警报,但是如果我不需要,我宁愿不要通过数千行代码穿过几个文件来做这件事。

2 个答案:

答案 0 :(得分:6)

alert函数不会触发事件,但您可以覆盖它:

//Save the old alert function if necessary
var savedAlert = window.alert;
window.alert = function(str){
  //Show dialog
}

这必须在对alert()的任何调用之前运行。

答案 1 :(得分:1)

您可以使用自己的一个函数直接覆盖window.alert方法,而不是创建一个jQuery UI对话框。这会破坏每个其他场景的警报框,但您可以先将其缓存,以防您仍想使用它。

var _alert = window.alert;
window.alert = function (message) {
   // create/show dialog
};
相关问题