キーダウンを使用してチェックボックスをチェック(解除)し、マウスクリックと組み合わせることに問題があります。ID「check」のチェックボックスがあり、スペースバーを押してチェックボックスをチェックおよびチェック解除するjQueryコードの一部を次に示します。
$(document).keydown(function (e) {
if (e.keyCode == 32) {
if ($("#check").is(":checked")) {
$("#check").prop("checked", false);
}
else {
$("#check").prop("checked", true);
}
}
});
ドキュメントが読み込まれると、すべてがうまく機能します。しかし、古典的なマウスクリックだけでチェックボックスをオンまたはオフにすると、スペースバーを使用してチェックを外すことができなくなります。スペースバーを押すたびに(チェックボックスをクリックした後)、チェックボックスがオンになり、すぐにオフになります。たとえば、チェックされていて、この壊れた状態にある場合、スペースバーを押すと、チェックボックスが再度チェックされるだけになります。
この望ましくない動作を防ぐためのあらゆるアイデアに感謝します。