function myfunction(){
$('button').click(function(){
alert();
});
}
myfunction();
$('#x').off('click', myfunction);//click disable myfunction();
<button></button>
<span id='x'></span>
我需要禁用功能,我已经尝试关闭jquery,但它不能正常工作
谁能告诉我怎么样?以及如何再次启用?答案 0 :(得分:2)
您期望这样做到底是什么?:
$('#x').off('click', myfunction);
假设#x
是button
的子集,您实际上从未在myfunction
处首先将button
设置为处理程序。您设置了匿名函数:
$('button').click(function(){
alert();
});
如果要“禁用”该功能(即从元素中删除单击处理程序),则将其设为非匿名函数并删除处理程序:
function myfunction () {
alert();
}
$('button').on('click', myfunction);
$('#x').off('click', myfunction);
或者,如果你只是想做一次,并试图在除了那个之外的所有元素上设置处理程序,只需从选择器中省略它:
$('button').not('#x').on('click', myfunction);
答案 1 :(得分:1)
添加一个变量,如is Disabled = false; 在MyFunction()的开头检查该变量。 并在#x点击时将该变量设置为true。
答案 2 :(得分:0)
使用禁用属性时,Internet Explorer中有一个错误,该错误带有函数attr()e prop()...。 完整的解决方案请参见此处: https://lentux-informatica.com/bug-jquery-disable-e-internet-explorer-soluzione/