Fork 2me on GitHub

键盘事件

键盘事件分为两类: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文档上这样说: 

1、keydown([[data],fn])

当键盘或按钮被按下时,发生 keydown 事件。

注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。

例子:

$(window).keydown(function(event){
  switch(event.keyCode) {
    // ...
    // 不同的按键可以做不同的事情
    // 不同的浏览器的keycode不同
    // 更多详细信息:     http://unixpapa.com/js/key.html
    // ...
  }
});

 

2、keypress([[data],fn])

当键盘或按钮被按下时,发生 keypress 事件。

keypress 事件与 keydown 事件类似。当按钮被按下时,会发生该事件。它发生在当前获得焦点的元素上。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。

例子:

$("input").keydown(
    function(){  $("span").text(i+=1);
});

  

3、keyup([[data],fn])

当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。

注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生

例子:

$("input").keyup(function(){
  $("input").css("background-color","#D6D6FF");
});

  

  

 

posted @ 2015-04-15 19:43  黄3维  阅读(209)  评论(0编辑  收藏  举报