如果学习一些W3C事件处理模式的知识,可以找到另一种实现的方法:利用事件侦听参数e。
在W3C事件处理模式中:所有通过addEvent给节点元素添加的事件处理器都会给对应的事件侦听函数传回一个包含e参数的对象,在浏览器中我们可以利用e.target(标准)e.srcElement(IE)来取得事件的目标元素。
一旦此元素的事件处理器被激活,此元素的父元素的所有事件处理器也会被激活,即冒泡,可以通过stopPropagation或cancelBubble来取消冒泡。
下面是利用此原理对FAQ实例重新写的代码。
Javascript部分:
Html部分: