如何使用jQuery在div上重新启用click事件?

时间:2014-04-24 00:58:17

标签: javascript jquery html javascript-events click

给出以下代码:

    if ($selector.html().indexOf("radio") > 0) {

        if ($oldSelected != null) {
            // enable clicks on old selected radio button
            $oldSelected.children().bind('click', function () { return true; });
        }

        // disable click on selected 
        $selector.children().bind('click', function () { return false; });
        $oldSelected = $selector;
    }

禁用代码工作正常。一旦执行,元素就不再可点击了。但是,在尝试重新启用click事件时,没有任何反应。

建议?

2 个答案:

答案 0 :(得分:0)

您只是一遍又一遍地绑定点击处理程序。你需要unbind()那些你不想要活跃的人。

试试这个:

$oldSelected.children().unbind('click').bind('click', function () { return true; });

第二个想法,如果点击处理程序中没有其他逻辑,那么unbind('click')可能就是您所需要的。

答案 1 :(得分:0)

尝试类似:

var handler = function () {
    // do some stuff
};

// First
el.bind('click', handler);

// Later on...
el.unbind('click', handler);

请记住保存回调,以便以后可以取消绑定。 Unbind docs