`
welcome66
  • 浏览: 402746 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jQuery live事件说明及移除live事件方法

阅读更多

1.live事件说明

jQuery1.3增加了一个live()方法,下面是手册上的说明:

jQuery 1.3中新增的方法。给所有当前以及将来会匹配的元素绑定一个事件处理函数(比如click事件)。也能绑定自定义事件。

目前支持 click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, keydown, keypress, keyup。

还不支持 blur, focus, mouseenter, mouseleave, change, submit

与bind()不同的是,live()一次只能绑定一个事件。

这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。

.live()与流行的liveQuery插件很像,但有以下几个主要区别:

  • .live 目前只支持所有事件的子集,支持列表参考上面的说明。
  • .live 不支持liveQuery提供的“无事件”样式的回调函数。.live只能绑定事件处理函数。
  • .live 没有”setup”和”cleanup”的过程。因为所有的事件是委派而不是直接绑定在元素上的。

要移除用live绑定的事件,请用die方法

用法示例:

<div class=”myDiv”></div>

jquery:

$(“.myDiv”).live(“click”, function(){

alert(“clicked!”);

});

如果使用javascript动态创建一个class为mydiv的元素,点击元素依然会有弹出。为什么使用live后就有了呢?这是因为jquery利用了事件的冒泡机制,直接把事件绑定在了document上,然后通过event.target找出事件的来源。这跟jquery.livequery插件不一样,jquery.livequery每20毫秒做一次检查,如有新生成则重新绑定一次事件。

使用live当然有利也有弊:
好处就是:元素更新时不用反复去定义事件。
坏处就是:把事件绑定在document上会在页面上每一个元素都呼叫一次,如使用不当会严重影响性能。而且不支持blur, focus, mouseenter, mouseleave, change, submit。

 

 2.移除live绑定的事件

在Jquery里,使用live来绑定事件,若想移除该事件,要使用die方法。

如:

$(“.myDiv”).die("click");

这样就好将绑定的click事件移除掉。

 

 

分享到:
评论

相关推荐

    JQuery绑定事件

    在JavaScript原生语法中,为元素添加事件监听器通常涉及到`addEventListener`或`attachEvent`方法,而jQuery提供了一套统一且便捷的API来处理这一任务。 首先,我们需要了解什么是事件。在Web开发中,事件是用户与...

    jquery事件代理方式的区别联系

    `live`是jQuery早期引入的事件代理方法,它将事件处理器绑定到`document`对象上,监听所有符合特定选择器的后代元素的事件。当符合选择器的元素被动态添加时,无需重新绑定事件。`live`的优点是处理动态元素非常方便...

    jQuery参考手册-事件总结

    10. **off()**: `off()` 方法用于移除已绑定的事件处理程序。 11. **one()**: 这个方法只让事件处理函数执行一次,之后自动解除绑定。 12. **delegate()**: 类似于 `live()`,用于向匹配元素的后代元素添加事件...

    jQuery 事件以及处理方法

    - **die()**:移除所有通过 `live()` 方法添加的事件处理器。 - **live(event)**:已被弃用,但曾经用于向匹配元素(现在或未来存在)添加事件处理器。 - **one(event)**:向匹配元素添加一个事件处理器,仅触发一次...

    jquery事件

    此外,`bind()`、`live()`(已被弃用)和`delegate()`也是常见的事件绑定方法,但`on()`现在是最推荐的API。 2. **事件冒泡与事件捕获** 在jQuery中,事件默认是通过事件冒泡机制传播的,即事件从最深的节点开始向...

    jQuery中live方法的重复绑定说明

    解决:使用die()方法,在live()方法绑定前,将此元素上的前面被绑定的事件统统解除,然后再通过live()方法绑定新的事件。 代码如下: //先通过die()方法解除,... 如果不带参数,则所有绑定的live事件都会被移除。 你可

    jquery live()调用不存在的解决方法

    然而,随着jQuery的不断进化,`live()`方法在版本1.7中被弃用,并最终在版本1.9中彻底移除。这主要是因为`live()`方法在性能和可维护性方面存在一些问题。当遇到"jQuery live()调用不存在"的错误时,我们需要使用`on...

    深入理解jQuery之事件移除

    除了bind()、unbind()和one()方法,jQuery还提供了其他一些方法来处理事件,比如live()、delegate()和on()等。这些方法用于不同场景下绑定事件,尤其在处理动态生成的元素或者在大型项目中管理事件时非常有帮助。 ...

    jQuery绑定事件方法及区别(bind,click,on,live,one)

    但是,`live()`方法在jQuery 1.9版本已经被移除,取而代之的是`on()`方法。 `delegate()`方法与`live()`类似,但它允许你指定一个元素作为事件委托的父级,更精确地限定事件处理的范围。它适用于jQuery 1.4.3到1.7...

    jQuery事件函数共4页.pdf.zip

    6. **$.live()**(已被弃用):在旧版本的jQuery中,`.live()`用于为当前及未来存在的元素绑定事件,但因性能问题已在新版本中被弃用。现在推荐使用`.on()`配合祖先元素来达到类似的效果。 7. **$.delegate()**(已...

    jQuery中绑定事件bind() on() live() one()的异同

    不过,live() 方法在 jQuery 1.7 及之后的版本中被废弃了,并且相应地 die() 方法也不再可用。 delegate() 方法也是一个在 jQuery 版本小于 1.7 时使用的事件委托方法,它与 live() 方法类似,但它允许更灵活地指定...

    jquery例子大全 jquery demo

    jQuery 改进了JavaScript的事件处理方式,如 `.on()` 方法用于绑定事件监听器,`.off()` 移除事件监听器,`.trigger()` 触发事件。`.delegate()` 和 `.live()`(在jQuery 1.7后被 `.on()` 替代)则支持事件代理,...

    jquery移除了live()、die(),新版事件绑定on()、off()的方法

    1. jQuery的事件绑定机制变化:在旧版本的jQuery中,开发者通常使用live()方法来绑定事件处理程序,而使用die()方法来移除事件处理程序。但在新版的jQuery中,live()和die()方法已经被移除,取而代之的是更为高效的...

    jquery_live:jQuery 1.9及更高版本的live方法

    然而,需要注意的是,`live()`方法在jQuery 1.9及更高版本中已被废弃,取而代之的是`on()`方法。尽管如此,理解`live()`的工作原理和其与`on()`的对比仍然是掌握现代jQuery编程的关键。 `live()`方法的核心功能在于...

    jquery-migrate

    例如,如果你的代码中使用了`.live()`方法来绑定事件,而在jQuery 1.9及更高版本中,这个方法已被移除。引入jQuery Migrate后,`.live()`方法将再次工作,同时控制台会显示警告,提示你应改为使用`.on()`方法来代替...

    jquery1.4.2 jquery1.4.2

    此外,还引入了一些技巧,如deferred对象和live/delegate事件代理,以减少DOM遍历和内存占用。 总结,jQuery 1.4.2作为一个经典版本,不仅提供了丰富的功能,也奠定了现代前端开发的基础。无论你是初学者还是经验...

    jquery live()重复绑定的解决方法介绍

    在jQuery 1.4及之后的版本中,live()方法支持更多的事件,包括自定义事件。例如,在jQuery 1.4.1版本中,live()方法还支持focus和blur事件(这些事件被映射到更合适的、可以冒泡的focusin和focusout事件)。此外,在...

    jQuery移除或禁用html元素点击事件常用方法小结

    在jQuery中,`.live()`方法(自jQuery 1.7版本后已被废弃)可以处理动态添加的元素的事件,而`.on()`和`.bind()`则可以绑定当前存在的和未来可能添加的元素。下面的例子使用`.on()`来阻止点击事件: ```javascript ...

Global site tag (gtag.js) - Google Analytics