我有一个复选框,当启用(选中)它时,我希望执行代码。它可以工作,但是当未选中该框时,代码仍然有效,我希望它在未选中该框时不工作。以下代码位于一个较大的 jQuery 函数中,可以正常工作。当我取消选中该框时,我无法让代码停止工作。作为引用,该复选框允许用户使用箭头键来调整 Canvas 元素。我希望他们能够在选中该框时进行调整,而在未选中该框时无法进行调整。
$("#hMove728").click( function(){
if($(this).is(':checked')){
alert("checked");
$(document).keydown(function(key) {
switch(parseInt(key.which,10)) {
case 38:
context.yB -= 2;
break;
case 39:
x += 2;
break;
case 40:
y += 2;
break;
case 37:
x -= 2;
break;
default:
break;
}
update();
})
}
});
最佳答案
在这里,检查事件处理程序内复选框的状态:
var moveCheckbox = $("#hMove728");
$( document ).keydown( function( key ) {
if ( moveCheckbox.is(":checked") ) {
// ...
}
});
关于javascript - jQuery 更改带有复选框的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20335535/