我希望收到有关网页中发生的所有事件的通知。
对于每个单一事件,我使用的是这样的:
if(document.addEventListener){
document.addEventListener('click', function(e) { something(e) } , true);
}else{
if(document.attachEvent){
document.attachEvent('onclick', function(e) { something(e) });
}
}
是否有一种简单的跨浏览器方式来获取有关网页中所有事件的通知,而不是单独监听每个事件(不使用jQuery)?
答案 0 :(得分:2)
编写一个JavaScript应用程序,用于搜索HTML文档的标记以查找事件属性。然后,您可以以任何方式分析事件。可以使用xmlHttpRequest对象将输出写入当前页面或写入另一个文档。
答案 1 :(得分:1)
所有事件?我非常怀疑你是否考虑过事件冒泡以及将会产生多少噪音。
坚持使用离散的白名单绑定到您真正关心的内容。
答案 2 :(得分:1)
尝试在另一个调用所有通知操作的函数中调用作为参数传递的函数
function addEvent(ev,fun){
var hand=function(e){
alert(ev+" event"); //Or other notify operations
fun();
}
if(document.addEventListener){
document.addEventListener(ev, hand, true);
}else{
if(document.attachEvent){
document.attachEvent(ev, hand);
}
}
}