jquery .on()方法具体有什么作用?详解jQuery on()与 off() 方法
$(document).ready(function(){ $("#ddp").on("click",function(){ alert("ddp被点击了。"); });});
定义和用法
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。
语法
$(selector).on(event,childSelector,data,function)
参数
event:必需。规定要从被选元素添加的一个或多个事件或命名空间。由空格分隔多个事件值,也可以是数组。必须是有效的事件。
childSelector:可选。规定只能添加到指定的子元素上的事件处理程序(且不是选择器本身,比如已废弃的 delegate() 方法)。
data:可选。规定传递到函数的额外数据。
function:可选。规定当事件发生时运行的函数。
具体演示代码:
<!DOCTYPE html> <html> <head> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#ddp").on("click",function(){ alert("ddp被点击了。"); }); }); </script> <style type="text/css"> #ddp{ margin:0 auto; width:100px; height: 50px; background-color:black ; color: #ffffff; } </style> </head> <body> <div id="ddp"> 演示DDP </div> </body> </html>
演示效果如下图:
off()的作用就是去除on()的绑定的事件。
定义和用法
off() 方法通常用于移除通过 on() 方法添加的事件处理程序。
自 jQuery 版本 1.7 起,off() 方法是 unbind()、die() 和 undelegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。
语法
$(selector).off(event,selector,function(eventObj),map)
参数
event:必需。规定要从被选元素移除的一个或多个事件或命名空间。由空格分隔多个事件值。必须是有效的事件。
selector:可选。规定添加事件处理程序时最初传递给 on() 方法的选择器。
function(eventObj):可选。规定当事件发生时运行的函数。
map:规定事件映射 ({event:function, event:function, ...}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。
具体演示代码如下:
<!DOCTYPE html> <html> <head> <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#ddp").on("click",function(){ alert("ddp被点击了。"); }); $("#jiechu").click(function(){ $("#ddp").off("click"); }); }); </script> <style type="text/css"> #ddp{ margin:0 auto; width:100px; height: 50px; background-color:black ; color: #ffffff; } #jiechu{ margin:0 auto; width:100px; height: 50px; background-color:black ; color: #ffffff; } </style> </head> <body> <div id="ddp"> 演示DDP </div> <div id="jiechu"> 解除DDP点击事件 </div> </body> </html>
评论