之路教程 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 中 keydown和keypress有什么区别

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