之路教程 https://onitr oad .com
捕获keycode或者key ascii值
如果我们点击字母 a 和 A(大写字母),我们会发现以下事件行为。
- keydown() 将显示 a = 65, A = 65 (不区分大小写)。
- keypresss() 将显示 a= 97, A=65 (区分大小写)。
如果要捕获真正的字符输入,请始终使用 keypress() 事件。
$( document ).ready(function(){ $('#textbox').keydown(function(event){ var keycode = (event.keyCode ? event.keyCode : event.which); $('#keydownCode').html(keycode); }); $('#textbox').keypress(function(event){ var keycode = (event.keyCode ? event.keyCode : event.which); $('#keypressCode').html(keycode); }); });
jQuery 支持 3 种类型的键盘事件:
- keyup() :在键盘上释放键时触发的事件。
- keydown() :在键盘上按下某个键时触发的事件。
- keypress :() 在键盘上按下某个键时触发的事件。
从上面的定义来看,keydown() 和 keypress() 是一回事。
但是,实际上它们并不完全相同。
对于特殊键(例如 CTRL 或者 ALT 或者 SHIFT)
如果我们按下任何特殊键,浏览器将仅触发 keydown() 事件而不触发 keypress() 事件。
var keydownCounter = 0; var keypressCounter = 0; $( document ).ready(function(){ $('#textbox').keydown(function(event){ $('#keydownCounter').html(++keydownCounter); }); $('#textbox').keypress(function(event){ $('#keypressCounter').html(++keypressCounter); }); });
长按任意键时
在这种情况下,根据文档,keydown() 事件会被触发一次,但是 keypress() 事件会一直触发直到按键被释放。
日期:2020-09-17 00:10:38 来源:oir作者:oir