jQuery unbind,然后再绑定

时间:2010-12-17 15:11:32

标签: jquery bind unbind

我的功能(我需要稍后解开):

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

我在事件发生后解开它:

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

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

2 个答案:

答案 0 :(得分:5)

将您的功能分配给变量

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

然后你可以用变量

绑定
$("#closebtn").click(closebtn);

答案 1 :(得分: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
    })