【发布时间】:2015-07-25 02:33:50
【问题描述】:
当使用蓝牙键盘时,我无法在 iPad 上的 Safari 和 Chrome 的文本字段中检测箭头键。
使用此测试 HTML 和 JavaScript,触摸输入字段以使其获得焦点。
使用箭头键不会发生任何事情,但键入字母和数字会发生 keydown 事件。
<!DOCTYPE html>
<html>
<head>
<title>Test page.</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<form>
<input id="input" style="width: 600px;" type="textarea" />
</form>
<div id="keydisp" style="width 600px; height: 50px"></div>
<script type="text/javascript">
$(document).keydown(function(event) {
var keyCode = event.which;
document.getElementById("keydisp").innerHTML = "key pressed: " + keyCode;
});
</script>
</body>
</html>
是否可以检测到箭头?
【问题讨论】:
-
尝试检查
window.event,而不仅仅是通过的event。例如:var keyCode = event.which || window.event; -
@basher 这无济于事。根据jQuery keydown 文档
jQuery normalizes the .which property so you can reliably use it to retrieve the key code. -
偶数是否触发?将此添加到函数的开头,然后查看是否弹出。
alert('keydown event');我自己会这样做,但我把 iPad 留在了工作中。还;事件是否会针对可打印字符(A-Z、数字等)触发? -
@AndrewBonsall 我已经尝试过 keydown 和其他事件。它确实会为其他角色开火。箭头键和选项卡的事件不起作用。
标签: javascript jquery ios ipad keyboard-events