jquery中绑定事件有三种方法:以click事件为例
(1)target.click(function(){});
(2)target.bind("click",function(){});
(3)target.live("click",function(){});
第一种方法很好理解,其实就和普通js的用法差不多,只是少了一个on而已
第二、三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到jquery的框架的话是用的挺多的,尤其要注意二者的区别。
【bind和live的区别】
live方法其实是bind方法的变种,其基本功能就同bind方法的功能是一样的,都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用js等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件。那么live方法的这个特性是怎么实现的呢?下面来探讨一下其实现原理。
live方法之所以能对后生成的元素也绑定相应的事件的原因归结在“事件委托”上面,所谓“事件委托”就是指绑定在祖先元素上的事件可以在其后代元素上进行使用。live方法的处理机制就是把事件绑定在dom树的根节点上,而不是直接绑定在某个元素上。举一个例子来说明:
. 代码如下:
$(".clickme").live("click",fn);
$("body").append("<p class='clickme'>测试live方法的步骤</p>");
如对本文有疑问, 点击进行留言回复!!
node网络组件axios使用填坑,服务端无法接收数据,post请求json对象被转为string
IOS基础入门OC语言Xcode Day12笔记:Json字符串和字典互转
POJ 1426 Find The Multiple 简单dfs构造
《Android移动应用基础教程》(Android Studio)(第二版)黑马教程 课后题答案 第11章
网友评论