检测回车键是否按下
Detecting enter key pressed
是否有任何方法可以在jquery中检测是否Enter键已按下?
我知道我们可以使用键码/字符集来识别输入按键,但我不需要在我的js脚本中硬编码整数值,因为它将成为一个神奇的数字。我需要知道是否有任何其他可能的方法来检测输入按键,这是类似e.shiftKey
用于检测使用事件对象的shift按键。
谢谢。
所以,您希望检测Enter键被按下,而不为键码硬编码13
。
现在,我可以建议使用6.5*2
作为键码,然后,但那将是愚蠢的。
真正的答案是Enter键没有内置常量,而Shift键有。Shift之所以有这个键,是因为这个键经常和其他键一起按。例如,当按Shift+ a 时,您无法检测到Shift keyDown
事件,因为当您处理 a 的keyDown
事件时,修饰符的事件已经传递了。坦率地说,你唯一的真正的选项是硬编码一个应用程序范围内的常量,它表示类似于:
window.keyCodes = {
Enter: 13,
SomeKey: 99
}
然后你可以像这样检查:
if(e.keyCode === keyCodes.Enter)
或者,也可以编写一个函数,将输入的键的字符与只包含返回值的字符串进行比较,但这样就只是硬编码了一个返回值。
回车键的键码为:13
if(e.keyCode == 13)
//do something...
这是人们发现这个特殊事件的直接方法,但是还有其他方法可以识别数字13。
var DOM_VK_RETURN = 13;
$(document).on('keydown', function(e) {
var code = e.keyCode || e.which;
if(code == DOM_VK_RETURN) {
console.log("Enter key pressed");
}
});
但是,如果您不想使用整数来检测密钥,则可以使用十六进制。
http://jsfiddle.net/hk2eL/3/相关文章:
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何检测是否有溢出
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 测试索引值是否等于某个数字的倍数
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 是否可以禁用jquery中的单个单选按钮
- 是否可以从父类访问子类的属性
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 如何让程序检查所选单词中是否有按键
- 在 igGrid Infragistics 2012 中是否可以控制插入回车和/或换行
- 如何检测第一个字符是否为回车符,并添加回车符
- 是否可以通过.replace替换字符串中的所有回车符?