Sea*_* N. 15 javascript jquery keyboard-events ipad ios
当使用蓝牙键盘时,我找不到在iPad和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>
Run Code Online (Sandbox Code Playgroud)
有可能检测到箭头吗?
小智 12
我明白这可能看起来像一个严峻的答案,如果是的话,我道歉.
几周前我一直在努力解决这个问题并最终放弃了.
试图让iPad上的箭头键来触发无数个小时onkeydown
的事件似乎在所有的工作,就好像没有,甚至被压制他们.
游戏(或类似的东西)的一个很好的选择是使用WSAD
键,这就是我做的.
WSAD
密钥的代码是:
w: 87,
s: 83,
a: 65,
d: 68
Run Code Online (Sandbox Code Playgroud)
这是您通常检测WSAD
按键何时被按下的方式:
$(document).on("keydown", function(event) {
if (event.which == 87) {
// W key Has Been Pressed
} else if (event.which == 83) {
// S key Has Been Pressed
} else if (event.which == 65) {
// A key Has Been Pressed
} else if (event.which == 68) {
// D key Has Been Pressed
}
// prevent the default action
// event.preventDefault(); // This is optional.
});
Run Code Online (Sandbox Code Playgroud)
箭头键的代码是:
up: 38,
down: 40,
left: 37,
right: 39
Run Code Online (Sandbox Code Playgroud)
这是您按下箭头键时通常会检测到的方式:
$(document).on("keydown", function(event) {
if (event.which == 37) {
// Left Arrow Has Been Pressed
} else if (event.which == 38) {
// Up Arrow Has Been Pressed
} else if (event.which == 39) {
// Right Arrow Has Been Pressed
} else if (event.which == 40) {
// Down Arrow Has Been Pressed
}
// prevent the default action
event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
注意:您只能使用该onkeydown
事件来检查是否已按下箭头键.
您还可以使用var key = event.keyCode ? event.keyCode : event.which;
引用彼得Darmis:
10.50之前的Opera版本通过返回
event.which
四个特殊键(插入,删除,主页和结束)的非零值来搞定,这意味着event.keyCode
在旧浏览器中使用可能更"安全".
资源
引用jQuery api:
event.which属性规范化
event.keyCode
和event.charCode
.建议观察event.which
键盘按键输入.欲了解更多详情,请阅读有关event.charCode
的MDN.
资源
祝你好运,一切顺利.
归档时间: |
|
查看次数: |
3993 次 |
最近记录: |