事件委托应该委托到哪一级?

来源:5-2 on()的高级用法

Nevermore3182578

2016-09-22 19:14

事件委托一般委托给哪个祖先元素比较好?

写回答 关注

4回答

  • 快乐崇拜tager
    2016-09-22 23:23:42
    已采纳

    用js源码来分析 事件委托 是这样的;

    parentElement.click=function(e){      //parentElement委托的父级(点击时执行函数)

    var eTarget=e.target || e.srcElement  //获取点击的事件目标

    if(eTarget.nodeName.toLowerCase=="a"){ //这里的a就是委托的对象;判断如果是a就执行

     //在点击对象时会往上冒泡,判断目标事件是不是a元素,直到冒到委托的父级元素;

    //因此尽可能的缩小委托的父级范围,这个可以很大程度的提高 js的性能

    //个人的一点理解,希望能帮到你

    }

    }

    快乐崇拜ta... 回复Neverm...

    委托的父级可以理解为是触发事件的范围; 如果以body或最高级作为委托的父级,由于冒泡的原理,所以不管你点在页面的哪个位置都会执行点击事件(每次点击都会执行并判断是不是委托元素); 如果是鼠标移动事件那不管移到页面哪里都会执行函数并判断; 因此还是要缩小父级的委托范围;

    2016-09-23 09:21:10

    共 3 条回复 >

  • 快乐崇拜tager
    2016-09-22 23:25:14

    事件冒泡、事件源、加判断 构成事件委托!

  • 快乐崇拜tager
    2016-09-22 23:00:43

    当然是最近的祖先元素。

  • 编程整个天空
    2016-09-22 20:34:40

    事件委托就是利用事件冒泡原理,把处理任务委托给父元素或者祖先元素(通常用父元素),我们通过目标对象来判断事件源,并执行事件处理。


    Neverm...

    这个概念我知道,但是比如给一个div添加点击事件,是委托给div的父级,还是body,或者是document?

    2016-09-22 21:14:46

    共 1 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题