jQuery1.9+中删除了live以后的替代方法
为什么80%的码农都做不了架构师?>>>
根据jQuery的官方描述,live方法在1.7中已经不建议使用,在1.9中删除了这个方法。并建议在以后的代码中使用on方法来替代。
on方法可以接受三个参数:事件名、触发选择器、事件函数。
需要特别注意的是:on方法中间的这个触发选择器就是你将要添加的HTML元素的类名、id或者元素名,使用它就可以实现live的效果。
例如我的html文档中已经有了一个id为parent的div,我将要在这个div内部再动态添加一个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("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
转载于:https://my.oschina.net/wolfx/blog/617942
jQuery1.9+中删除了live以后的替代方法相关推荐
- mysql中in查询效率低的替代方法_一波骚操作,我把 SQL 执行效率提高了 10,000,000 倍...
场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表: 数据100条 学生表: 数据70000条 学生成绩表SC 数据70w条 查询目的:查找语文考100分的考生 查询语句: selec ...
- jquery1.6中的.prop()和.attr()异同
1.从1.5.2升级到1.6.1 通过介绍新方法.prop()以及.attr()方法的改变,jQuery1.6.1引起了一场关于attributes和properties之间有何区别和联系的激烈讨论. ...
- 1145: 零起点学算法52——数组中删数II
1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lld Submitted: 29 ...
- Problem E: 零起点学算法84——数组中删数II
Description 在给定的数组中删除数 Input 多组测试,每组第一行输入1个整数n(n<20),然后是n个整数 第二行输入1个整数m Output 删除在第一行的n个整数中的数字m(多 ...
- 坐标轴删了怎么恢复_cad中坐标标注恢复xy轴的方法
cad 中坐标标注恢复 xy 轴的方法 cad 中坐标标注恢复 xy 轴的方法一 当使用者想将用户坐 标系转换为世界坐标系,特别简单,直接输入 ucs ,然后回车 , 输 入 w ,再回车,即可完成世 ...
- jquery.ajax的url中传递中文乱码问题的解决方法
jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuer ...
- pandas中drop用法_如何使用drop方法对数据进行删减处理
在我们进行数据分析时,某些情况下我们会需要对数据作出一系列的删减处理.今天就为大家推荐一下在Python中常用于数据删减的drop方法. 在Pandas 中,以 .drop 开头的方法都与数据的删减有 ...
- 去除html重复的元素 js,js数组中去除重复值的几种方法
在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...
- word中删除水平线(分割线)的方法
转载需注明来源:https://www.cnblogs.com/yczcc/p/9208396.html word 删除 水平线 分割线 word中删除水平线(分割线)的方法 在word里面,有时候 ...
最新文章
- What's preconnect.svc in 11g RAC?
- Fluentd初探 简介与安装
- redshift教程_分析和可视化Amazon Redshift数据—教程
- Ubuntu10.04中间Leach协议一键安装
- python自定义模块的使用_python自定义模块使用说明
- 如何成长为一名合格的web架构师?
- 软件构架师之路[转帖]
- C语言数组旋转问题(C笔记)
- Fusion360删除圆角,把圆角变回直角/Remove Fillets
- 网络流量监测IP雷达 4.0
- 5G网元结构和协议栈
- 阿里云华北1235、华东1、华东2和华南1分别对应哪些城市?地域节点物理数据中心在哪?...
- 前端单元测试到底要怎么写?看这一篇就够了
- SAP 固定资产减值准备的处理方法
- seajs学习(6)----配置
- Matlab中fft函数的使用与原理
- python文件相对路径是什么意思_python相对路径表示_什么是绝对路径和相对路径,举例说明...
- thinkphp的数据库方法column
- 王思聪手撕花千芳——为你深挖何为六度关系
- 计算机设置鼠标关灯,答疑解惑:为什么电脑关机了鼠标灯还亮
热门文章
- python字符计数怎样去除空格_去除python中的字符串空格的简单方法
- JavaScript中foreach()用法及使用的坑
- Python文件的读写操作
- java spring 上传图片,springboot 上传图片并回显
- java中的取模_Java 中的取模和取余
- JAVA模拟某信网登录信息采集
- 数据结构实验之串一:KMP简单应用
- 两个排序数组合并第k或前k个最小值问题
- 第六天2017/04/11(2:Linux内核链表Demo、顺序表、链表的开发与设计)
- 【c++】8.map和vector容器查找、删除指定元素、emplace、insert