事件源对象
事件源对象,被点击的那个对象(触发事件的对象),可以获取属性等操作。
标准:event.target
IE8-:event.srcElement
//对box节点设置事件委托
box.onclick = function (ev) {
console.log(ev.target); //事件源对象:被点击的那个对象
console.log(ev.target.className //获取类名
console.log(ev.target.id); //获取id名
console.log(ev.target.tagName); //获取标签名
console.log(ev.target.innerHTML); //获取内容
//等等对元素的操作它都可以试用
}
事件委托的优点
-
可以减少对事件的绑定次数,利用this指向绑定都是通过一个循环,时间复杂度为n,时间委托的时间复杂度为常数。
-
对于新创建的节点都有用,因为是委托的形式绑定的,this指向只能对一开始创建的节点绑定,对后来创建的节点需要重新获取节点 长度才能绑定对应时间,相对的复杂。
-
好处:利用事件冒泡实现事件委托
-
缺点:要避免事件冒泡
- 标准写法:event.stopPropagation() ;
- IE8 - :event.cancelBubble = true;