gpt4 book ai didi

javascript - 如果焦点在其他元素上,则 keydown 事件不起作用

转载 作者:行者123 更新时间:2023-11-30 00:18:47 29 4
gpt4 key购买 nike

我有一个表单,其中分别有多个文本框、下拉列表和一个复选框。我想提交此表单 如果我在键盘上输入 S 按钮。复选框不是必填字段,下拉后下一个焦点转到复选框,如果我输入 S 则按键处理程序不起作用。

以下是我的按键处理程序代码,我保存在 document.ready() 方法中:

$('#submitBtn').bind('keydown', 's', function() {
alert("S pressed");
$('#myForm').submit();
});

当焦点在提交按钮上时,只有它起作用,如果我将焦点移到其他元素上,它就不会起作用。我是 JQuery/Javascript 的新手,所以不知道为什么它不起作用。

我无法提供完整的 HTML,以下标记非常相似:

<html>
<body>
<script src="C:/Desktop/test/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#saveBtn').bind('keydown', 's', function() {
alert("S pressed :: SaveInfo() function call");
//SaveInfo() function call
});
});
</script>
<div id="saveInfo">
<ul >
<li>
<div>
<input type="text" maxlength="30" tabindex = "1" />
<br>
<input type="text" maxlength="30" tabindex = "2" />
<br>
</div>
</li>
</ul>
<ul>
<li>
<div>
<input type="checkbox" id="checkBox1" value="false" tabindex ="3"/>
</div>
</li>
<li>
<div>
<input type="button" name="saveBtn" id="saveBtn" value="Save" tabindex ="4"/>
</div>
</li>
</ul>
</div>
</body>
</html>

最佳答案

根据您更新的问题:

您想在键盘按下“s”时触发 form.submit() 事件

试试 FIDDLE ,

它解决了这个问题,您实际上是将按键事件绑定(bind)到 #submitBtn 但要定位完整表单,您必须定位表单上的所有 DOM 元素。

简单地说,您可以通过选择 document 作为选择器实现这一点,如下所示

$(document).ready(function() {
$(document).bind('keydown', 's', function() {
alert("S pressed :: SaveInfo() function call");
//SaveInfo() function call
});
});

希望它能解决您的问题。

谢谢

关于javascript - 如果焦点在其他元素上,则 keydown 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33914683/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com