什么是事件委托 javascript
通俗的讲,事件就是 onclick , onmouseover , onmouseout, 等 就是事件,委托就是让别人来作.这个事件原本就是加在某些元素上的,然而你却加到别人身上来作,完成这个事件.java
例如 :举个列子:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三我的在公司门口等快递;二是委托给前台MM代为签收。现实当中,咱们大都采用委托的方案(公司也不会容忍那么多员工站在门口就为了等快递)。前台MM收到快递后,她会判断收件人是谁,而后按照收件人的要求签收,甚至代为付款。这种方案还有一个优点,那就是即便公司里来了新员工(无论多少),前台MM也会在收到寄给新员工的快递后核实并代为签收。jquery
原理 : 利用冒泡的原理,把事件加到父级上,触发执行效果.app
做用 : 函数
1 . 性能更好 性能
2 . 针对新建立的元素,直接能够拥有事件.this
事件源 : 跟 this 做用同样(不看指向问题,谁操做的就是谁) , event 对象下的.spa
使用情景 : code
1 . 为DOM重不少元素绑定相同的事件;对象
2 . 为DOM重尚不存在的元素绑定事件
示例 :
<body> <ul> <li class="luffy">路飞</li> <li>路飞</li> <li>路飞</li> </ul> </body> <script src="jquery-3.2.1.js"></script> <script type="text/javascript"> $(document).ready(function(){ //经过on()方法 $('ul').on('click','#namei,.luffy',function(){ console.log(this); }) //将来追加的元素 $('ul').append('<a id="namei">娜美</a>') } </script>
语法 :
on(type,selector,data,fn);
解释 : 在选定的元素上绑定一个或者多个事件处理函数.
type(String) : 一个或多个空格分隔的事件类型
selector(String) : 一个选择器字符串,用于过滤出被选中的元素中能触发事件的后代元素.
data : 当一个事件被触发时,要传递给事件处理函数的 event.data
fn : 回调函数.