我在单击[html]触发函数时遇到了问题,这些触发函数单击html中的按钮,如下所示:
$(document).keydown()
其中#buzz是一个按钮。
HTML:
$(document).keydown(function(e) {
if (e.keyCode === 32) {
$("#buzz").click();
}
})
即使将 <div class="buttons">
<button class="next" id="next" disabled>Next</button>
<button class="pause" id="pause" disabled>Pause</button>
<button class="resume" id="resume" disabled>Resume</button>
<button class="buzz" id ="buzz" disabled>Buzz</button>
</div>
属性附加到按钮上,也按链接到单击该按钮的键盘键仍然单击按钮并执行其操作。如果我尝试物理触摸屏幕上的按钮,则该按钮将遵循Disabled属性并且不执行其事件。为什么我的按键事件会覆盖Disabled属性?
EDIT:有趣的是,使用此更复杂的香草JS方法,事件监听器遵循disable属性:
disabled
为什么只有我的jQuery有差异?
您可以在运行功能之前使用window.addEventListener("keydown", function(nextclick) {
if (nextclick.keyCode === 78) {
document.getElementById("next").click();
}
});
检查是否禁用了元素
.prop('disabled')
$(document).keydown(function(e) {
if (e.keyCode === 32 && !$('#buzz').prop('disabled')) {
$("#buzz").click();
}
})