禁用,启用('点击')

Nom*_*ake 7 jquery

如何禁用和启用on click事件.

我尝试过:

$('#web').on('click', function web_function(event){
    event.stopPropagation();
    // execute a bunch of action to preform
});
$('#web').off('click'); // click is succesfully removed
$('#web').on('click'); // doesnt work, i need to redefine the actions to perform
Run Code Online (Sandbox Code Playgroud)

我还尝试禁用:

$('#web').unbind('click'); // click is succesfully removed
$('#web').bind('click'); // nok
Run Code Online (Sandbox Code Playgroud)

但这也不起作用......

因此,我想禁用/启用click事件,而无需重新定义要执行的操作.某种切换......(点击/关闭)

我如何实现事件来阻止传播?

我怎样才能做到这一点?

Sel*_*gam 14

无论何时bind(或rebind),都需要将处理函数作为参数传递.

在您的情况下,您可以命名可以在再次重新绑定时使用它来传递它的函数.请参阅下文,

var myFunc = function(event){
     event.stopPropagation();
     // execute a bunch of action to preform
}

$('#web').on('click', myFunc); //bind myFunc
$('#web').off('click'); // click is succesfully removed
$('#web').on('click', myFunc); //rebind again
Run Code Online (Sandbox Code Playgroud)