我正在尝试清除div中的所有事件。我有两个图像按钮btn1和btn2。现在,我需要为我的btn1禁用图像按钮单击事件。我让函数调用onload来设置图像的url。我调用了禁用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";
}
}发布于 2016-12-14 12:45:56
您的选择器有效吗?尝尝这个
if ( $( "#btn1" ).length ) {
console.warn('unbinding...')
$( "#btn1" ).unbind();
}发布于 2016-12-14 13:07:16
如果您需要使用jQuery删除点击事件,请确保事件与jQuery本身绑定。如果它是onclick javascript函数,则off或unbind方法不会删除事件。下面是绑定和取消绑定按钮的click事件的示例代码。我希望这将是您正在寻找的解决方案。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
function ClickFunction(){
console.log("Clicked");
}
function EnableFunction(){
$('#btn1').off("click", ClickFunction);
$('#btn1').bind('click', ClickFunction);
$("#btn1").prop('disabled', false).css('cursor', 'default').fadeTo("fast", 1);
console.log("Click Event Added");
}
function RemoveClickFunction(){
$('#btn1').off("click", ClickFunction);
$("#btn1").attr('disabled', 'disabled').css('cursor', 'default').fadeTo("fast", .25);
console.log("Click Event Removed");
}
$(document).ready(function(){
$('#btn1').on("click", ClickFunction);
console.log("Click Event Added");
})
</script>
</head>
<body>
<button id="btn1">Click me</button>
<button onclick="EnableFunction()" id="btn2">Enable me</button>
<button onclick="RemoveClickFunction()" id="btn3">Remove Click Function</button>
</body>
</html>
发布于 2016-12-14 13:08:55
如果要禁用按钮,则不应解除任何事件的绑定,因为这将在按钮再次启用时删除绑定事件的要求。但是,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" />
https://stackoverflow.com/questions/41134986
复制相似问题