码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript事件委托

时间:2015-01-26 22:36:02      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

//事件委托

//事件委托
        function f2(d) {

            document.onclick = function(e) {

                var e = e || window.event;
                var target = e.srcElement || e.target;

                if (target.tagName == “LI”) {
                    ……
                }
      }
}

  

事件委托:利用事件冒泡机制,把事件加到父级上,触发执行效果。

好处:

1.提高性能

2.新添加的元素还会有之前的事件

e.srcElement || e.target: 获取事件发生时,最初的那个dom元素。

target.tagName:最初的那个dom元素的标签名字,例如:LI;

 

通过对元素属性的判断,例如标签名,ID ,CLASS等等,来执行不同的处理函数。

这样做比起每一个元素都绑定一个事件,然后为每一个事件再绑定一个函数效率要高很多。

 

上例:点击任何一个LI都会触发,document的onclick的事件,(注意这里的LI并没有绑定任何的onclick事件),这样就可以理解为一种“委托”。

把事件交给document.让它去处理li点击后应该执行的语句。

JavaScript事件委托

标签:

原文地址:http://www.cnblogs.com/zhouyupeng/p/4251348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!