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