【发布时间】:2014-02-13 07:44:00
【问题描述】:
我无法让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>
【问题讨论】:
-
我很快在谷歌上搜索了一下,有人用 onKeyPress 代替了运气。
-
@d_ominic 您有指向您找到的页面的链接吗?我尝试将代码更改为 ,但它仍然无法在 iPad 上触发。我不想在页面上放置文本输入字段,因为这会导致屏幕键盘弹出。
-
这篇文章与我遇到的问题相同:javascript-read-keypresses-on-tablet
标签: javascript jquery ios ipad bluetooth