1

我有我的功能(我需要稍后解除绑定):

$("#closebtn").click(function(){
    $.address.value('/x');
});

我在事件发生后解绑它:

$("#closebtn").unbind("click");

现在我想再次将我的“点击”功能关联到我的#closebtn,我该怎么做?谢谢你

4

2 回答 2

5

将您的函数分配给变量

var closebtn = function() {
    $.address.value('/x');
};

然后你可以绑定变量

$("#closebtn").click(closebtn);
于 2010-12-17T15:21:31.883 回答
0

如果它实际上是一个按钮,您可以禁用它,而不是取消绑定/重新绑定。或者,添加一个 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
    })
于 2010-12-17T16:09:27.660 回答