jQuery $(document).keydown函数,即使在按钮被禁用的情况下也单击该按钮

问题描述 投票:-1回答:1

我在单击[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有差异?

javascript jquery html button keydown
1个回答
0
投票

您可以在运行功能之前使用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();
  }
})
© www.soinside.com 2019 - 2024. All rights reserved.