一 如果事件监听类似于如下写法,则最终只会执行最后一个事件监听,其他监听都会被覆盖掉。
window.onload=funtion(){console.log(1);};
window.onload=funtion(){console.log(2);};
window.onload=funtion(){console.log(3);};
//最终只会输出:"3"
二 如果事件监听类似于如下写法,则每个事件监听都会被执行,其他监听都不会被覆盖掉。
--是否冒泡或捕获都不会影响输出结果的次数(3次)
window.addEventListener("load",function(evt){console.log(1);},false);
window.addEventListener("load",function(evt){console.log(2);},false);
window.addEventListener("load",function(evt){console.log(3);},false);
//最终输出:"1 2 3"
小结:
1 window只是一个对象,可替换成其他标签对象,如divObj...。但最终输出是一样的。
2 如果用了window.onload模式,则必须保证页面中必须只有一个这样的事件监听。
3 jquery里面的$(document).ready(function(e){})...估计里面是实现了第二种的监听模式(addEventListener)