事件代理 (event delegation)

事件代理就是利用事件的冒泡特性,将事件绑定到外层元素上,而不是触发事件的元素上。

可以减少绑定的事件数量,而且对于动态加载的内容来说,十分有利。

上面这样写有个不足,就是如果触发事件的元素不是li,而是li的子元素时,上面的那个事件不会被触发。

修改后

通过isParentOfTarget函数,判断触发事件的元素(即event.target),是不是我们需要委托的元素的子元素,如果是,则返回这个委托的元素,不是,就返回false。

最后,再利用call函数,将事件处理函数的this绑定到所需委托的元素上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (续jQuery基础(1)) 第5章 DOM节点的复制与替换 (1)DOM拷贝clone() 克隆节点是DOM的常...
    凛0_0阅读 1,408评论 0 8
  • 总结: 鼠标事件 1.click与dbclick事件$ele.click()$ele.click(handler(...
    阿r阿r阅读 1,659评论 2 10
  • 第1章 鼠标事件 1-1 jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是...
    mo默22阅读 1,311评论 0 6
  • 题目:假设有一个没有头指针的单链表。一个指针指向此单链表中间的一个节点(不是第一个,也不是最后一个节点)。请将该节...
    FlyElephant阅读 309评论 0 0
  • 个人简介 王孔华,号樸厚斋,1964年出生,山东青州人,先后就读于中国美术学院国画系,中国艺术研究院研究生...
    艺术范阅读 361评论 0 0