Jquery 禁用、启用(';单击';)

Jquery 禁用、启用(';单击';),jquery,Jquery,如何禁用和启用单击事件 我试过: $('#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

如何禁用和启用单击事件

我试过:

$('#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
我还尝试使用以下方法禁用:

$('#web').unbind('click'); // click is succesfully removed
$('#web').bind('click'); // nok
但这也不起作用

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

如何实现事件以停止传播


如何执行此操作?

每当您
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

首先使用jQuery的
prop()
方法禁用元素,即

$("selector").prop("disabled",true);
如果要启用,请单击“仅使用”按钮

$("selector").prop("disabled",false);

在重新绑定事件时,您也必须传入回调。我稍微编辑了一下我的问题。。。我忽略了我正在使用的事件。。。你能告诉我如何在你的例子中实现这个吗?你能批准我的编辑吗?如果正确的话?然后你的回答遇到了我的问题:-)我没有拒绝。。然而,我更新了它。。谢谢,谢谢。如果我使用attr而不是prop,它还会附加以前附加的onclick事件吗?根据官方文档,“要检索和更改DOM属性,如表单元素的选中、选中或禁用状态,请使用.prop()方法。”使用attr()不是设置DOM属性的标准方法。