jQuery中live()方法及1.9+后去除live()后的替代

来源:互联网 发布:沉默的舰队 知乎 编辑:程序博客网 时间:2024/05/17 00:03

定义和用法

live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。

通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)

$(selector).live(event,data,function)

jQuery1.9之前的版本我们可以这样写:

$("a").live("focus",function(){  this.blur();}); 

jQuery1.9之后由于live被删除了,所以应该这样写:

$(document).on("focus","a",function(){  this.blur();}); 

还要注意个问题,如果是从live的写法换成on的写法别忘了调整调用链。因为live的返回值是事件触发的对象,而使用on则是在容器对象上。

复制代码
//jQuery1.9-$("#panel").find("div").live("click",function(){  alert("x");}).addClass("x");//jQuery1.9+$("#panel").on("click","div",function(){  alert("x");}).find("div").addClass("x");   
复制代码

注意最后的find("div"),其它就没什么问题了。下面是官方说明
http://jquery.com/upgrade-guide/1.9/#live-removed

0

0 0
原创粉丝点击