gpt4 book ai didi

javascript - 使用多个输入元素时未触发 Android Chrome 按键事件 "Enter"

转载 作者:行者123 更新时间:2023-12-04 23:45:03 25 4
gpt4 key购买 nike

当用户单击 Android 中的“输入”按钮(右下角按钮)时,我无法捕捉到该事件。我尝试了“keyup”、“keydown”、“keypress”和原生 JS 事件监听器函数。它确实适用于 PC 或 Android 系统中的默认浏览器。

这是我的测试代码:

<form>
<input type="text" id="test" name="1">
<input type="text" id="test2" name="2">
<input type="text" id="test3" name="3">
</form>

<script src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous"></script>

<script>
$('#test').keyup(function(e){
alert('keyup ' + e.keyCode);
});
$('#test').keydown(function(e){
alert('keydown ' + e.keyCode);
});
$('#test').keypress(function(e){
alert('keypress' + e.keyCode);
});
</script>

发生的情况是它“制表”到下一个字段,但不是按键/keydown/keyup 和 keyCode 选项卡,只是一个似乎无法捕捉的选项卡。当您在最后一个输入(在本例中为#test3)中按“输入”时,它会触发一个带有 keyCode 13 的事件,因为它是表单中的最后一个元素(它没有触发此代码中的任何内容,但我已经对其进行了测试)

最佳答案

自 101 版本以来,在 Adroid Google Chrome 中也存在同样的问题。
Enter 按键事件仅发生在最后一个表单或文档文本输入框中。
可能的解决方案:

  • 使用 onchange 或 onblur 事件。
  • 将您的文本输入放在单独的表单中,并防止默认表单提交事件。
  • 关于javascript - 使用多个输入元素时未触发 Android Chrome 按键事件 "Enter",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51674081/

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