我在文档中看到.die()
它说:
为了使 .die() 正常工作,与它一起使用的选择器必须与最初与 .live() 一起使用的选择器完全匹配。
jQuery 1.7 中的新方法是否有同样的限制*?
*实际上不确定它是否被视为限制或功能
我在文档中看到.die()
它说:
为了使 .die() 正常工作,与它一起使用的选择器必须与最初与 .live() 一起使用的选择器完全匹配。
jQuery 1.7 中的新方法是否有同样的限制*?
*实际上不确定它是否被视为限制或功能
限制实际上仍然存在。
$(".bind").click(function(){
$(".clone").live("click",function(){
$(this).clone().insertAfter(this);
});
});
$(".unbind").click(function(){
$(".clone,.somethingelse").die("click");
});
$(".bind").click(function(){
$("body").on("click",".clone",function(){
$(this).clone().insertAfter(this);
});
});
$(".unbind").click(function(){
$("body").off("click",".clone");
});
$(".bind").click(function(){
$("body").on("click",".clone",function(){
$(this).clone().insertAfter(this);
});
});
$(".unbind").click(function(){
$("body").off("click",".clone,.somethingelse");
});
如您所见,您需要指定与使用 live 相同的选择器。
是和不是。调用 .off 需要模仿 .live 的语法,但是,选择器参数不是必需的。为特定元素上的所有点击事件调用 .off() 将取消绑定所有点击事件,包括委托的点击事件。如果您只想删除特定的委托事件,或者只删除委托事件,您仍然需要为该委托事件提供选择器,否则所有其他事件也将被删除。