gpt4 book ai didi

javascript - JQuery keyup() keydown() 和 keypress() 不适用于 iPad 和蓝牙键盘

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:28:54 25 4
gpt4 key购买 nike

我无法让 keyup()keydown()keypress() 事件在 iPad 上运行。当我连接无线蓝牙键盘并尝试使用键盘打字时会出现问题——事件不会触发。我尝试在 iPad (iOS 6.1) 上同时使用 Safari 和 Chrome。同样的 HTML 在桌面上的 Firefox、Safari、Chrome 等中运行良好。有什么方法可以更改此代码以使其在平板电脑上运行吗?我查看了document.activeElement,好像是文档正文,没错。

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function() {
$(document).keyup(function(event) {
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + ("keyup " + event.which) + "<br>";
});
$(document).keydown(function(event) {
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + ("keydown " + event.which) + "<br>";
});
$(document).keypress(function(event) {
document.getElementById("output").innerHTML = document.getElementById("output").innerHTML + ("keypress " + event.which) + "<br>";
});
});
</script>
</head>
<body>
<div id="output"></div>
</body>
</html>

最佳答案

显然在 iOS 上,除非文本字段具有焦点,句点,否则键盘将无法工作。
要解决此问题,我需要向 HTML 添加一个隐藏的文本字段。像这样:

<div style="overflow: hidden; position: relative; width: 1px; height: 1px; left: -500px">
<input id="input" type="textfield" autocorrect="off" autocapitalize="off">
</div>

现在的问题是,JavaScript 无法在 iPad 上自动提供隐藏的输入焦点。所以我将不得不添加某种按钮,必须通过物理方式单击才能为隐藏的输入字段提供焦点。参见 here .

<input type="button" value="Click here first" onclick="document.getElementById('input').focus();">

我讨厌这个。如果有人能找到更好的解决方案,请告诉我。

关于javascript - JQuery keyup() keydown() 和 keypress() 不适用于 iPad 和蓝牙键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21296673/

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