.die()
分类:建议弃用 > 建议弃用于1.7 | 事件 > 事件处理附加物 | 已删除
描述:从元素上删除之前用.live()方法附加的事件处理函数。
加入于: 1.4.1
.die()该签名不接受任何参数。
加入于: 1.3
.die( eventType [, handler ] )加入于: 1.4.3
.die( events )- events类型:PlainObject一个纯对象,它由一个或多个事件类型,比如说
click或者keydown,以及它们所对应的不再需要执行的函数构成。
任何用.live()附加的处理函数都可以用.die()来删除。这种方法类似于不带参数地调用.off()方法,它用来删除所有用.on()方法附加的处理函数。参见跟.live()方法和.on()方法相关的讨论,以获得进一步的理解。
如果使用时不带参数,.die()会删除所有的之前用.live()附加到这些元素上的事件处理函数。
自从jQuery 1.7,不再推荐使用.die()方法以及它的互补方法.die()。作为代替,建议使用.off()以删除用.on()绑定的事件处理函数。
注意:为了让.die()正确地发挥作用,用于它的选择器必须严格匹配最初用于.live()的选择器。
示例
从所有的段落文本上解除绑定所有的还活跃着的事件,只要这么写:
$( "p" ).die();
要想从所有的段落文本上解除绑定所有还活跃着的点击事件,只要这么写:
$( "p" ).die( "click" );
要想解除绑定一个之前绑定的处理函数,只要把这个函数作为第二个参数传递给它:
var foo = function() {
// 处理某些事件的代码
};
// 现在当点击段落文本时会调用foo
$( "p" ).live( "click", foo );
// 现在不再能调用foo了
$( "p" ).die( "click", foo );