用法
.delegate( selector, eventType, handler ) => jQuery
.delegate( selector, eventType, handler ) => jQuery
不推荐使用的版本:3.0
说明:基于一组特定的根元素,为现在或将来匹配选择器的所有元素附加一个处理程序到一个或多个事件。
-
添加的版本:1.4.2
.delegate( selector, eventType, handler )
-
添加的版本:1.4.2
.delegate( selector, eventType, eventData, handler )
-
添加的版本:1.4.3
.delegate( selector, events )
-
selector类型:String用于过滤触发事件的元素的选择器。
-
events类型:PlainObject一个或多个事件类型的普通对象和为它们执行的函数。
-
从 jQuery 3.0 开始,.delegate()
已被弃用。自 jQuery 1.7 起,它被
方法取代,因此不鼓励使用它。然而,对于早期版本,它仍然是使用事件委托的最有效方法。 .on()
方法中提供了有关事件绑定和委托的更多信息。通常,这些是两种方法的等效模板:.on()
|
例如,以下 .delegate()
代码:
|
等效于使用 .on()
编写的以下代码:
|
要删除使用 delegate()
附加的事件,请参阅 .undelegate() 方法。
传递和处理事件数据的方式与 .on()
相同。
其他注意事项:
- 由于
.live()
.delegate()
处理的事件将传播到它们被委托的元素;在调用委托的事件处理程序时,绑定在 DOM 树中它下面的任何元素上的事件处理程序将已经被执行。因此,这些处理程序可能会阻止委托处理程序通过调用event.stopPropagation()
或返回false
来触发。
例子:
单击一个段落以添加另一个段落。请注意, .delegate() 将单击事件处理程序附加到所有段落 - 甚至是新段落。
|
演示:
要在每次单击时在警报框中显示每个段落的文本:
|
要取消默认操作并防止其冒泡,请返回 false:
|
使用 preventDefault 方法仅取消默认操作。
|
也可以绑定自定义事件。
|
演示:
相关用法
- JQuery .delay()用法及代码示例
- JQuery .detach()用法及代码示例
- JQuery .dequeue()用法及代码示例
- JQuery .dblclick()用法及代码示例
- JQuery .die()用法及代码示例
- JQuery .data()用法及代码示例
- JQuery .jquery用法及代码示例
- JQuery .scroll()用法及代码示例
- JQuery .add()用法及代码示例
- JQuery .contextmenu()用法及代码示例
- JQuery .undelegate()用法及代码示例
- JQuery .load()用法及代码示例
- JQuery .contents()用法及代码示例
- JQuery .empty()用法及代码示例
- JQuery UI .labels()用法及代码示例
- JQuery UI .addClass()用法及代码示例
- JQuery .click()用法及代码示例
- JQuery UI .toggleClass()用法及代码示例
- JQuery .removeAttr()用法及代码示例
- JQuery .addClass()用法及代码示例
- JQuery UI .cssClip()用法及代码示例
- JQuery .next()用法及代码示例
- JQuery UI .hide()用法及代码示例
- JQuery .promise()用法及代码示例
- JQuery .trigger()用法及代码示例
注:本文由纯净天空筛选整理自jquery.com大神的英文原创作品 .delegate()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。