Javascript事件监听

2009年1月27日星期二

Javascript事件监听

firefox中addEventListener()方法和ie中attachEvent()方法都是为HTML元素添加一个事件监听。

为什么要采用事件监听而不是直接对元素的事件属性(如:onclick、onmouseover)赋值?这两种方法处理事件还是有很大区别的!

事件属性只能赋值一种方法,即:

button1.onclick = function() { alert(1); };
button1.onclick = function() { alert(2); };
这样后面的赋值语句就将前面的onclick属性覆盖了。




Coda Bubble Example






而添加事件监听就可以并行。

特别是当团队合作时,事件并行的需求增多,比如:监听document对象的鼠标事件或者window对象的载入事件等。
使用事件属性则很容易造成事件覆盖掉。

经过测试IE(8)中先显示3再显示2,而firefox(3)中则先显示2再显示3
这个是为什么呢?测试的结果即真理,没啥好想的。囧 (http://blog.csdn.net/zswang/archive/2008/11/25/3370183.aspx)


注:本人在IE6中测试,和其他朋友一样,也是先显示2,后显示3。


0 评论:

发表评论