关于 .die()的问题
使用这些函数时,.die()方法会有一个缺点。只可以使用.live()方法中用到的元素选择器,例如,不可以像下面这样写:
$(document).ready( function() {
$('a').live( 'click', function() {
alert("You are now leaving this site");
return true;
});
});
// it would be nice if we could then choose specific elements
// to unbind, but this will do nothing
$('a.no-alert').die();
.die()事件看起来好像是匹配到了目标选择权并解除了.live()的绑定,但事实上,$(‘a.no-alert’)并不存在绑定,所以jquery找不到任何绑定去去掉,就不会起作用了。
更糟的是下面这个:
$(document).ready( function() {
$('a,form').live( 'click', function() {
alert("You are going to a different page");
return true;
});
});
// NEITHER of these will work
$('a').die();
$('form').die();
// ONLY this will work
$('a,form').die();