jQuery键盘事件

在鼠标中有mousedown和mouseup之类的事件,都是根据我们所需的要求而触发。键盘的按下与弹起,对这样的2种动作,jQuery分别提供了对应keydown与keyup方法来监听。

Keydown事件:

当在一个元素第一次按下键盘上字母键时,就会触发。下面是使用方法:

//直接绑定事件
$elem.keydown( handler(eventObject) ) //传递参数
$elem.keydown( [eventData ], handler(eventObject) ) //手动触发已绑定的事件
$elem.keydown()

值得注意:keydown是在键盘按下就会触发,keyup是在键盘松手就会触发。理论上它可以绑定到任何元素,但keydown/keyup事件只是发送到具有焦点的元素上,不同的浏览器中,可获得焦点的元素略有不同,但是表单元素总是能获取焦点,所以对于此事件类型表单元素是最合适的。下面是具体执行代码:

//键盘按下事件

    $(".target1").keydown(function (e) {

        $("em").first().text(e.target.value);//获取第一个元素em

    });

//键盘弹起事件

$(".target2").keyup(function (e) {

        $("em:last").text(e.target.value);//获取最后一个元素em

    });

该代码在页面的效果图:

jquery给li绑定点击事件 jquery绑定keyup_jQuery

Keyup事件的显示输入值之所以没有,是因为我一直按住没有松开键。

还有一个keypress事件,keypress事件与keydown和keyup的主要区别: 只能捕获单个字符,不能捕获组合键(汉字),无法响应系统功能键(63如delete,backspace),不区分小键盘和主键盘的数字字符。KeyPress主要用来接收字母、数字等ANSI字符,而 KeyDown 和 KeyUP 事件过程可以处理任何不被 KeyPress 识别的击键,例如:功能键(F1-F12)、编辑键、定位键以及任何这些键和键盘换档键的组合等。页面效果如图:

jquery给li绑定点击事件 jquery绑定keyup_jQuery_02

通常,在登录某个软件的时候,输入完账号、密码就直接点击Enter键就可以直接进入。这不是系统自带。这也是通过代码控制。keyCode键码值

一般都在通过if语句,使用键码值作为判断条件。

function onreturn() {

//点击的时否时回车键

if (window.event.keyCode == 13) {

            //JS触发单击事件

            if (document.all('btnSubmit').click());

        }

    }

13是回车键(enter)的键值码,键盘上每个键都会有统一的键码值

jquery给li绑定点击事件 jquery绑定keyup_jQuery_03

jquery给li绑定点击事件 jquery绑定keyup_jQuery_04


jquery给li绑定点击事件 jquery绑定keyup_回车键_05


jquery给li绑定点击事件 jquery绑定keyup_jQuery_06

jquery给li绑定点击事件 jquery绑定keyup_键码_07