jquery绑定事件的区别

query中绑定事件有三种方法:以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树的根节点上,而不是直接绑定在某个元素上。

时间: 2024-10-11 21:39:03

jquery绑定事件的区别的相关文章

Jquery绑定事件(bind和live的区别)

Jquery中绑定事件有三种方法:以click事件为例 (1)target.click(function(){}); (2)target.bind("click",function(){}); (3)target.live("click",function(){}); 第一种方法很好理解,其实就和普通JS的用法差不多,只是少了一个on而已 第二.三种方法都是绑定事件,但是二者又有很大的不同,下面着重讲解一下,因为这个如果用到Jquery的框架的话是用的挺多的,尤其要

jquery的bind跟on绑定事件的区别

Jquery的bind跟on绑定事件的区别:主要是事件冒泡(事件代理): jquery文档中bind和on函数绑定事件的用法: .bind(events [,eventData], handler) .on(events [,selector]  [,data], handler) 从文档中可以看出,.on方法比.bind方法多一个参数'selector' .on的selector参数是筛选出调用.on方法的dom元素的指定子元素,如: $('ul').on('click', 'li', fun

jQuery绑定事件的四种方式

jQuery绑定事件的四种方式 jQuery提供了多种绑定事件的方式,每种方式各有其特点,明白了它们之间的异同点,有助于我们在写代码的时候进行正确的选择,从而写出优雅而容易维护的代码.下面我们来看下jQuery中绑定事件的方式都有哪些. jQuery中提供了四种事件监听方式,分别是bind.live.delegate.on,对应的解除监听的函数分别是unbind.die.undelegate.off.在开始看他们之前 一:bind(type,[data],function(eventObject

dom addeventlistener与id 绑定事件的区别

文档中有写. //addEventListener() 方法用于向指定元素添加事件句柄. //提示: 使用 removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄. //Internet Explorer 8 及更早IE版本不支持 addEventListener() 方法,,Opera 7.0 及 Opera 更早版本也不支持. 但是,对于这些不支持该函数的浏览器,你可以使用 attachEvent() 方法来添加事件句柄 (查看 "更

jQuery绑定事件-多种方式实现

jQuery绑定事件-多种方式实现: <html> <head> <meta charset="utf-8" /> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><!--百度CDN--> </head> <body> <input type="text"/&

解决jquery绑定事件重复绑定问题

解决jquery绑定事件重复绑定问题,以下用绑定click事件为例: 出现重复绑定情况: $(dom).click(function(e){})或者$(dom).on('click', function(e){}) 不管是click还是on都是会在原来方法上重复添加,所以我们需要如下做就可以解决 $(dom).unbind('click').click(function(e){}) 在绑定新click方法前对元素所绑定的click方法解绑

jquery绑定事件时如何向事件函数里传参数

举例子说明: 步骤1:var button=$('<button type="button" class="btn btn-default">提交</button>'); button.bind("click",{menuid:"01"},form_submit); 如上代码所示即是button按钮绑定了click事件,而其对应的函数为form_submit();并传递了参数menuid,其值为01,

jquery绑定事件以及js绑定事件

jquery绑定事件: <div id="click1">bind事件</div><!--如果有动态元素,不能触发--> <div id="click2">one</div><!--只能点击一次--> <div id="click3">live</div><!--已经弃用--> <div id="click4"&g

jQuery中四个绑定事件的区别 on,bind,live,delegate

1.jQ操作DOM元素的绑定事件的四种方式       jQ中提供了四种事件监听方式,bind.live.delegate.on,对应的解除监听的函数分别是unbind,die,undelegate,off 2.bind      $(selector).bind(event,data,function)      event:事件,必选,一个或多个事件:data:参数,可选: fn:绑定事件发生时执行的函数,必选 bind()是最直接的,存在最久的绑定方法      优点:兼容性好,任何浏览器