Mar*_*wis 7 html javascript events android google-chrome
当用户单击 Android 中的“Enter”按钮(右下角按钮)时,我无法捕获该事件。我尝试了“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>
Run Code Online (Sandbox Code Playgroud)
发生的情况是,它“制表符”到下一个字段,但不是使用 keypress/keydown/keyup 和 keyCode 选项卡,只是一个似乎无法捕获的选项卡。当您在最后一个输入中按“enter”(在本例中为#test3)时,它确实会触发 keyCode 13 的事件,因为它是表单中的最后一个元素(它不会触发此代码中的任何内容,但我已经对其进行了测试)
小智 2
自 101 版本以来,Adroid Google Chrome 中也存在同样的问题。Enter按键事件仅发生在最后一个表单或文档文本输入框中。可能的解决方案: