首页 > 试题广场 >

以下 jquery 对象方法中,使用了事件委托的是

[单选题]

以下 jquery 对象方法中,使用了事件委托的是

  • bind
  • mousedown
  • click
  • change
  • on

jQuery中实现事件委托的三种方法:

  • $.on: 基本用法:$('.parent').on('click', 'a', function () { console.log('click event on tag a'); }),它是 .parent 元素之下的 a 元素的事件***到$('.parent')之上,只要在这个元素上有点击事件,就会自动寻找到.parent元素下的a元素,然后响应事件;
  • $.delegate: 基本用法:$('.parent').delegate('a', 'click', function () { console.log('click event on tag a'); }),同上,并且还有相对应的$.delegate来删除***的事件;

  • $.live: 基本使用方法:$('a', $('.parent')).live('click', function () { console.log('click event on tag a'); }),同上,然而如果没有传入父层元素$(.parent),那事件会默认委托到$(document)上;(已废除)

事件委托原理:
事件委托是通过事件冒泡的原理,利用父级去触发子级的事件。
如果不用事件委托,将ul下每一个li都去添加click事件监听,非常麻烦,而且对于内存消耗是非常大的,效率上需要消耗很多性能;
另外就是如果通过js动态创建的子节点,需要重新绑定事件。

而利用事件委托的话,只需要给父级绑定一个事件监听,即可让每个li都绑定上相应的事件,让你避免对特定的每个节点添加事件***;事件***是被添加到它们的父元素上。事件***会分析从子元素冒泡上来的事件,找到是哪个子元素的事件。

更多内容——JavaScript事件委托详解

编辑于 2017-08-31 21:17:50 回复(0)
E
on 一般是点击父元素上,父元素***子元素 
BCD都属于事件
A已被淘汰
发表于 2017-05-13 15:08:56 回复(0)

只能是D,用on方法绑定事件,里面可以填一个选择器参数,实现事件委托

$("ul").on("click","li",function(){})

以上就是将li的事件委托给父级ul

发表于 2017-03-04 11:10:42 回复(0)

事件委托就是利用冒泡的原理,把事件加到父元素或祖先元素上,触发执行效果。比如要给一个列表的多个子元素添加点击事件,我们只需要在它们的父元素上绑定一个事件,再根据点击元素的ID来响应。

发表于 2017-08-04 15:07:59 回复(0)