jQuery1.9以上版本中删除了live以后的替代方法具体介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jQuery1.9以上版本中删除了live以后的替代方法具体介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1678字,纯文字阅读大概需要3分钟。
内容图文
![jQuery1.9以上版本中删除了live以后的替代方法具体介绍](/upload/InfoBanner/zyjiaocheng/301/08acd70e99b94c9696493d11bfff9ae8.jpg)
on方法可以接受三个参数:事件名、触发选择器、事件函数。
需要特别注意的是:on方法中间的这个触发选择器就是你将要添加的HTML元素的类名、id或者元素名,使用它就可以实现live的效果。
例如我的html文档中已经有了一个id为parent的p,我将要在这个p内部再动态添加一个class为son的span,然后我为这个span绑定一个事件,那么我需要这样写:
$('#parent').on('click','.son',function(){alert('test')});
这个触发选择器实际上就是在 JQ内部判断了一次事件参数的$(e.target).is(selector),只有触发对象匹配触发选择器才会触发。这是利用了事件冒泡的机制来完成 的,原本的live也是使用冒泡机制所以既然on可以实现那么live也就没有存在的必要了,只不过为了兼容让它从1.7苟延残喘的活到了1.9而已。
这篇文章也没啥内容了,接下来就用这个功能做点有意义的事情示范下吧~ 在低版本IE中A标签在鼠标按下时候会出现虚线边框,这是由focus造成的。我们只要在全局事件中做点手脚就能解决这个问题。在现代浏览器中focus是不冒泡的,但是低版本浏览器中可以冒泡。所以对于低版本浏览器中对focus使用live是有效的。在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("p").live("click",function(){ alert("x"); }).addClass("x");//jQuery1.9+$("#panel").on("click","p",function(){ alert("x"); }).find("p").addClass("x");
注意最后的find("p"),其它就没什么问题了。
以上就是jQuery1.9以上版本中删除了live以后的替代方法具体介绍的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的jQuery1.9以上版本中删除了live以后的替代方法具体介绍全部内容,希望文章能够帮你解决jQuery1.9以上版本中删除了live以后的替代方法具体介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。