按键无响应字符代码
Keypress not responding to character codes
$(document).keypress(function(e) {
if(e.which == 32) {
alert('You pressed spacebar!');
}
});
$(document).keypress(function(e) {
if(e.which == 13) {
alert('You pressed enter!');
}
});
$(document).keypress(function(e) {
if(e.which == 40) {
alert('You pressed down arrow!');
}
});
这是我的javascript文件。没有CSS,HTML只是一个空白的骨架。
它可以很好地读取输入和空格键,但是向下箭头,向上箭头或我按下的几乎任何不是输入或空格键的键都没有注册?
如何解决这个问题?
任何帮助,不胜感激。
箭头键不会生成keypress
事件。它们生成keydown
和keyup
事件。
请注意,虽然字母键确实会生成keypress
,但which
值可能不是您期望的值。例如,在我的浏览器和操作系统上,按 a 键会生成 which = 65
,这是 A
的字符代码,而不是 a
。键代码是键代码,而不是字符代码。更多关于这个不再维护但仍然非常有用的页面。
实时示例:
(我添加了一个return false
以防止默认处理,因为否则堆栈代码段窗口往往会滚动,但这不是接收事件所必需的(
$(document).keypress(function(e) {
if(e.which == 32) {
display('You pressed spacebar!');
return false;
}
});
$(document).keypress(function(e) {
if(e.which == 13) {
display('You pressed enter!');
return false;
}
});
$(document).keydown(function(e) {
if(e.which == 40) {
display('You pressed down arrow!');
return false;
}
});
function display(msg) {
$("<p>").text(msg).appendTo(document.body);
}
p {
margin: 0;
}
<p>Click this pane to focus it, then press spacebar, Enter, or down-arrow</p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
相关文章:
- Javascript键代码捕获非拉丁字符?(还需要在selectize.js中工作)
- 如何逃离“;jQuery代码中的“[”字符
- 代码点火器:搜索自动完成 JSON 解析意外字符
- 用于检查特殊字符的 JavaScript 代码
- 不允许的关键字符.通过 Codeigniter 中的 jQuery 在帧中加载嵌入代码时出错
- 用js更改字符代码并显示新字符
- 此页面上的脚本中发生错误 第 0 行 字符 0 代码 0
- Javascript:非 unicode 字符代码到 unicode 字符
- 如果使用 SHIFT 如何获取字符代码
- IE7 脚本错误行 0 字符 0 代码 0 jquery 1.10.1
- Javascript事件按键检查字符代码
- javascript中字符代码128以上的二进制字符串出现问题
- 按键无响应字符代码
- Javascript/jQuery:如何将字符串转换为HTML字符代码
- 如何在JavaScript中将字符代码数组转换为字符串
- 如何比较字符相似但字符代码不同的字符串
- 转换特殊的HTML字符代码,如"到正常的字符
- 什么是字符代码♥和如何使用它
- 试图将HTML字符代码写入页面的Javascript
- 每次在文本字段上调用.val()时,从该文本字段的值中删除特定字符(代码应该在jq插件中)