标签:
键盘事件分为两类:1、直接对键盘事件给出响应的事件:keyup、keydown
2、对文本输入给出响应的事件:keypress
如果想知道用户按了哪个键,应该侦听keyup\keydown事件,
如果想知道输入的是什么字符,应该侦听keypress事件。
事实上,键盘事件的目标是当前拥有键盘焦点的元素。元素的焦点可能会在几种情况下转移,包括点击鼠标和按下Tab键。
并非所有的元素都可以获得焦点,只有那些默认情况下具有键盘驱动行为的元素,如表单字段、链接,以及指定了TabIndex
属性的元素才可以获得焦点。
例子:
function submit(){ $("#loginForm").submit(); } $("input[name=password]").keypress(function(event){ if(event.keyCode == "13"){ submit(); } })
jQueryAPI文档上这样说:
当键盘或按钮被按下时,发生 keydown 事件。
注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。
例子:
$(window).keydown(function(event){ switch(event.keyCode) { // ... // 不同的按键可以做不同的事情 // 不同的浏览器的keycode不同 // 更多详细信息: http://unixpapa.com/js/key.html // ... } });
当键盘或按钮被按下时,发生 keypress 事件。
keypress 事件与 keydown 事件类似。当按钮被按下时,会发生该事件。它发生在当前获得焦点的元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。
例子:
$("input").keydown( function(){ $("span").text(i+=1); });
当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。
注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。
例子:
$("input").keyup(function(){ $("input").css("background-color","#D6D6FF"); });
标签:
原文地址:http://www.cnblogs.com/simaweier/p/4335797.html