【发布时间】:2010-12-18 00:09:27
【问题描述】:
我有我的功能(我需要稍后解绑):
$("#closebtn").click(function(){
$.address.value('/x');
});
我在一个事件之后解绑它:
$("#closebtn").unbind("click");
现在我想再次将我的“点击”功能关联到我的#closebtn,我该怎么做? 谢谢你 d
【问题讨论】:
我有我的功能(我需要稍后解绑):
$("#closebtn").click(function(){
$.address.value('/x');
});
我在一个事件之后解绑它:
$("#closebtn").unbind("click");
现在我想再次将我的“点击”功能关联到我的#closebtn,我该怎么做? 谢谢你 d
【问题讨论】:
将你的函数分配给一个变量
var closebtn = function() {
$.address.value('/x');
};
然后就可以绑定变量了
$("#closebtn").click(closebtn);
【讨论】:
如果它实际上是一个按钮,您可以禁用它,而不是取消绑定/重新绑定。或者,添加一条 if 语句,以便在您不希望它“触发”时该函数返回 false - 我认为这比 bind/un-bind/rebind 更有效,后者相当昂贵。
可能是这样的吧?
$("#closebtn").click(
function() {
if (inEvent) {
return false
}
$.address.value('/x')
})
$('someOtherElement').click(
function() {
inEvent = 1
// ...
// do the processing where you don't
// want the function to fire
.. ...
inEvent = 0
})
【讨论】: