我试图清除div中的所有事件。我有两个图像按钮btn1和btn2。现在我需要为我的btn1禁用图片按钮点击事件。我有函数调用onload来设置图片网址。我调用了禁用css然后取消绑定/关闭。按钮显示为灰色,但点击事件仍然有效。
function SetApplicationImage(applType) {
if (applType.id.indexOf('Dog') > -1) {
applType.src = "../images/btn1_dog.png";
$("#btn1").attr('disabled', 'disabled').css('cursor', 'default').fadeTo("fast", .25);
$('#btn1').off();
$('#btn1').unbind();
} else if (applType.id.indexOf('Cat') > -1) {
applType.src = "../images/btn2_cat.png";
}
}
答案 0 :(得分:0)
您的选择器有效吗?试试这个
if ( $( "#btn1" ).length ) {
console.warn('unbinding...')
$( "#btn1" ).unbind();
}
答案 1 :(得分:0)
如果您需要使用let unpure = function(){
try{
return Right(pure.run());
}catch(e){
return Left(e);
}
}
unpure(); // -> Either
删除点击事件,请确保事件与jQuery
本身绑定。如果是jQuery
onclick
函数,则javascript
或off
方法不会删除事件。下面是一个示例代码,用于绑定和取消绑定按钮的单击事件。我希望这将是您正在寻找的解决方案。
unbind

答案 2 :(得分:0)
如果要禁用该按钮,则不应取消绑定任何事件,因为这将在再次启用该按钮时删除绑定事件的要求。但是,attr()
和unbind()
的工作方式如下,
$(document).ready(function() {
$("#btn").attr("disabled", "disabled");
$("#btnUnbind").click(function() {
alert("Dont show me");
});
$("#btnUnbind").unbind();
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="button" id="btn" value="Click" />
<input type="button" id="btnUnbind" value="Unbiind" />
&#13;