`
welcome66
  • 浏览: 397206 次
  • 性别: 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中live方法的重复绑定说明

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

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

    我蛋疼了快10分钟,怎么调用都是报错,最后一查,原来jquery已经移除了live()和die()方法。使用了新的事件绑定方法on()、解除绑定方法off(). 新的绑定方法on()和比live()相比,效率比之前的高。因为live()是固定在...

    jQuery 事件 方法

    jQuery 事件 方法 jQuery 事件方法 事件方法触发器或添加一个函数到被选元素的事件处理程序。 下面的表格列出了所有用于处理事件的 jQuery 方法。 方法 ...移除所有通过 live() 方法添加的事件处理

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

    本文实例讲述了jQuery移除或禁用html元素点击事件常用方法。分享给大家供大家参考,具体如下: 移除或禁用html元素的点击事件可以通过css实现也可以通过js或jQuery实现。 一、CSS方法 .disabled { pointer-events: ...

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

    jQuery中绑定事件的四种方法,他们可以同时绑定一个或多个事件 bind()————————-版本号小于3.0(在Jquery3.0中已经移除,相应unbind()也移除) live()————————–版本号小于1.7(在Jquery1.7中已经...

    jquery事件重复绑定的快速解决方法

    一 $.fn.live 重复绑定 ...解决:使用unbind(“click”)方法先解除绑定的事件再绑定新事件,即在给对象绑定事件之前先移除该对象上的原有事件 完整测试代码: 代码如下:”box”&gt; &lt;button id=”tes

    jquery1.9.1

    jquery 1.9.1版本 .live() 方法移除 .die() 方法移除 .sub() 方法移除 .add() 方法修改

    jQuery详细教程

    jQuery 事件处理方法是 jQuery 中的核心函数。 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。 通常会把 jQuery 代码放到 部分的事件处理方法中: 实例 ...

    jQuery中die()方法用法实例

    此方法移除所有通过live()方法向指定元素添加的一个或多个事件处理程序。 语法结构: 代码如下:$(selector).die(type,function) 参数列表: 参数 描述 type 可选。定义附加到元素的一个或多个事件类型。由空格...

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    HTML基础加强、css(包含Div+CSS布局)、JavaScript、Dom(事件、window对象、document对象、对话框、定时器、粘贴板、动态Dom、跨浏览器兼容性...操作、样式操作、事件、动画、JQuery Cookie、JQuery Live、JQueryUI)...

Global site tag (gtag.js) - Google Analytics