delegate()函数用于为指定元素的一个或多个事件绑定事件处理函数。
事实上,绑定事件类似的方法同样还有on()函数。那delegate()有什么特殊的地方呢?
语法
首先来看下其语法:
$(selector).delegate(childSelector,event,data,function)
其中data是可选的,规定传递到函数的额外数据。
demo
下面看个例子
$("div").delegate("button","click",function(){
alert("hello world!"); });
作用是为所有的DIV下的子元素button添加点击事件。
说明
大部分情况下添加事件处理并不需要他,但是有一种情况比较特殊:某一个标签下需要通过js进行组装元素时,这个方法在这是非常实用的。例如下面这个例子:
<html> <head> <script type="text/javascript"> $(function(){
$("#container").append(""); $("#container").delegate("input","click",function(){
alert("hello world!"); }) }); </script> </head> <body> <div id="container"></div> </body> </html>
可以看到,由js动态加载出来的子元素,通过delegate都可以监听得到.
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176289.html原文链接:https://javaforall.net
