如果页面中已经存在jquery live(),如何禁用/取消绑定它?
我遇到一种情况,如果Jquery Live()函数已经存在于页面上,则需要禁用/取消绑定它 假设我有两个组件,每个组件都是一个jsp,并且都有相同的javascript函数 JS: 如果我拖放第一个组件,它可以正常工作,但当我拖放第二个组件时…现有的组件功能无法工作,因为它有重复的JS和选择器 是否有一种方法可以在拖放时为第二个组件解除绑定或禁用jquery live()如果页面中已经存在jquery live(),如何禁用/取消绑定它?,jquery,Jquery,我遇到一种情况,如果Jquery Live()函数已经存在于页面上,则需要禁用/取消绑定它 假设我有两个组件,每个组件都是一个jsp,并且都有相同的javascript函数 JS: 如果我拖放第一个组件,它可以正常工作,但当我拖放第二个组件时…现有的组件功能无法工作,因为它有重复的JS和选择器 是否有一种方法可以在拖放时为第二个组件解除绑定或禁用jquery live() 感谢您的帮助…要删除使用.live()创建的绑定,请使用.die(): 如果将事件绑定到一个命名函数,则可以通过将该函数作为
感谢您的帮助…要删除使用
.live()
创建的绑定,请使用.die()
:
如果将事件绑定到一个命名函数,则可以通过将该函数作为第二个参数传入.die()
来删除该处理程序。但是由于您绑定到一个匿名函数,因此不能将其作为参数提供,因此所有使用.live()绑定的单击处理程序都将被删除
有关更多信息,请参阅。另外,.live()
在jQuery 1.7中被弃用,并在1.9中被删除。您应该将代码转换为使用.on()
不过,一开始你可能不需要这么做。为什么要多次调用.live()
?您只需要调用一次,它将应用于与选择器匹配的所有元素,即使它们是稍后添加的。这就是使用.live()
或.on()
而不是.bind()
删除使用.live()
创建的绑定的原因,请使用.die()
:
如果将事件绑定到一个命名函数,则可以通过将该函数作为第二个参数传入.die()
来删除该处理程序。但是由于您绑定到一个匿名函数,因此不能将其作为参数提供,因此所有使用.live()绑定的单击处理程序都将被删除
有关更多信息,请参阅。另外,.live()
在jQuery 1.7中被弃用,并在1.9中被删除。您应该将代码转换为使用.on()
不过,一开始你可能不需要这么做。为什么要多次调用.live()
?您只需要调用一次,它将应用于与选择器匹配的所有元素,即使它们是稍后添加的。这就是为什么要使用.live()
或.on()
,而不是.bind()
为什么要将jQuery
分配给a
?您在拖放什么?您没有提供任何显示拖放的代码。@benastan如果您已经在使用$
进行其他操作,那么这是一种提供缩写的方法。我明白了,但是在StackOverflow的上下文中,如果他只使用$jQuery,它将保持清晰性。你为什么将jQuery
分配给a
?你在拖放什么?您没有提供任何显示拖放的代码。@benastan如果您已经在为其他内容使用$
,那么这是一种提供缩写的方法。我明白了,但是在StackOverflow的上下文中,如果他只使用了$of jQueryBarmar,它将保持清晰:我正在使用(window.bind)(“load”,function(){})…在自定义函数内部调用它onload…我如何调用die…如果函数是arleady esitBarmar:我正在使用(window).bind(“load”,function(){})…在自定义函数内部调用它onload…我如何调用die…如果函数是arleady esit
(function(a) {
a(function() {
a(".show").live(
"click", function(){
}); })(jQuery);
$(".show").die("click");