Jquery 取消绑定后无法重新绑定click事件
在将单击事件重新绑定到div时,我遇到了这个问题。我已尝试通过许多方法来实现这一点:Jquery 取消绑定后无法重新绑定click事件,jquery,Jquery,在将单击事件重新绑定到div时,我遇到了这个问题。我已尝试通过许多方法来实现这一点: 1.开/关 2.绑定/解除绑定 3.启用/禁用div 但一切都不起作用。以下是我目前的代码: $("#divid").click(function() { someMethod(); }); function someMethod(){ //code goes here $("#divid").unbind('click'); } //inside other method, i am trying
1.开/关
2.绑定/解除绑定
3.启用/禁用div
但一切都不起作用。以下是我目前的代码:
$("#divid").click(function() {
someMethod();
});
function someMethod(){
//code goes here
$("#divid").unbind('click');
}
//inside other method, i am trying to rebind the click event
function otherMethod(){
$('#divid').on("click", someMethod());
//Also tried
//$('#divid').on("click", someMethod);
}
Firefox控制台出现错误:ReferenceError:未定义someMethod
我研究了.on Api和on(事件、处理程序\方法\名称)是否有效
请建议可能的解决方案。试试这个
function someMethod(){
//Do stuff here
});
$(document).off('click', '#divid').on('click', '#divid', someMethod);
您正在使用调用函数
$('#divid').on("click", someMethod());
应该是
$('#divid').on("click", function(){someMethod()});
另外,我在绑定之前调用了unbind以避免多个绑定。
检查这把小提琴
我认为函数执行的作用域是不同的,确保
someMethod
定义在一个可以从otherMethod
访问的作用域中,也可以从$('#divid')。打开(“单击”,someMethod())
错误,它应该是$('#divid')。打开(“单击”,someMethod)代码>我希望div都是display:block而不是hidden。