jquery键盘常见事件

一、在看jquery的时候有几个常见的键盘事件,我写在这里:

1、keydown()
keydown事件会在键盘按下时触发.
2、keyup()
keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件
3、keypress()
keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键

二、键盘对应的ASCII码:

常见的例如上下左右键,分别为38,40,37,39。也就是从左键开始顺时针旋转。

也可以利用下面这段代码去获取

$(document).keydown(function(event){
console.log(event.keyCode);//FF下调试
});

上面例子中,event.keyCode就可以帮助我们获取到我们按下了键盘上的什么按键,返回的是ascII码

三、示例

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>键盘</title>
    <style>
        *{margin: 0;padding: 0;font: 12px Arial}
        #msg{position: absolute;left: 100px;top: 100px}
        .msg_caption span{font: 12px Arial;color: #fff;background: #647D65;width: 45px;display: block;float: left;margin: 0 2px;padding: 7px 0;text-align: center;cursor: pointer;}
        .clearfloat:after { visibility:hidden; display:block; font-size:0; content:" "; clear:both; height:0; }
        .clearfloat {  zoom: 1; /* triggers hasLayout */ display: inline-block; /* resets display for IE/Win */}
        div textarea{padding: 3px; width: 200px;height: 150px;overflow: auto;border: 1px solid #000}

    </style>
    <script type="text/javascript" src="../jquery.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            var $comment=$(‘#comment‘);
                $(document).keydown(function(event){
                    if (event.keyCode == 37&&(!$comment.is(":animated"))) {
                        $comment.animate({scrollTop:"-=50" }, 400)
                    };
                    if (event.keyCode == 39&&!$comment.is(":animated")) {
                        $comment.animate({scrollTop:‘+=‘+50+‘px‘}, 400)
                    }
                });
        });
    </script>
</head>
<body>
    <div id="msg" >
        <div class="msg_caption clearfloat">
            <span class="bigger">向上</span>
            <span class="smaller clearfloat">向下</span>
        </div>

        <div>
            <textarea name="comment" id="comment">多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动多行文本框滚动条滚动</textarea>
        </div>
    </div>
</body>
</html>

四、兼容性

e = event || window.event;//获取事件,这样写是为了兼容ie浏览器currKey = e.keyCode || e.which || e.charCode;//获取按键,也是为了兼容浏览器||表示,如果前面的成立就等于前面的,反之则后面的

在IE下:
>> 支持keyCode

>> 不支持which和charCode,二者值为 undefined

在Firefox下:

>> 支持keyCode,除功能键外,其他键值始终为 0

>> 支持which和charCode,二者的值相同

在Opera下:

>> 支持keyCode和which,二者的值相同

>> 不支持charCode,值为 undefined

测试代码:

<script type="text/javascript">
    //By 枫岩@CnLei.Com
    function $(s){
      return document.getElementById(s)?document.getElementById(s):s;
    }
    function viewKeyInfo(e){
      var currKey=0,CapsLock=0;
      var e=e||event;
      currKey=e.keyCode||e.which||e.charCode;
      CapsLock=currKey >=65 && currKey <=90;
      $("type").innerHTML=e[‘type‘];
      $("currKey").innerHTML=String.fromCharCode(currKey);
      $("Decimal").innerHTML=currKey;
      $("keyCode").innerHTML=e[‘keyCode‘];
      $("charCode").innerHTML=e[‘charCode‘];
      $("caps").innerHTML=CapsLock;
      $("shiftKey").innerHTML=e[‘shiftKey‘];
      $("ctrlKey").innerHTML=e[‘ctrlKey‘];
      $("repeat").innerHTML=e[‘repeat‘];
      $("which").innerHTML=e[‘which‘];
    }
    document.onkeypress= viewKeyInfo;
    </script>
    <p>请按下任意键看测试效果:</p>
    type:<span id="type"></span><br />
    当前Key:<span id="currKey"></span><br />
    Decimal:<span id="Decimal"></span><br />
    keyCode:<span id="keyCode"></span> <strong>注:在FF下,keyCode始终为0</strong><br />
    which:<span id="which"></span> <strong>注:在IE下,which始终为undefined ; 在Opera下,keyCode和charCode二者的值相同</strong><br />
    charCode:<span id="charCode"></span> <strong>注:在IE、Opera下,charCode始终为undefined ; 在FF下,which和charCode二者的值相同</strong><br />
    大写:<span id="caps"></span><br />
    altKey:<span id="altKey"></span><br />
    ctrlKey:<span id="ctrlKey"></span><br />
    shiftKey:<span id="shiftKey"></span><br />
    repeat:<span id="repeat"></span><br />
    <style type="text/css" media="all">
    body {color:#999;font:normal 14px tahoma,宋体,Geneva,Arial,sans-serif;}
    span {color:#f00;font-weight:bold;padding:0 5px;}
    strong {color:#090;font-weight:normal;padding:0 5px;}
    </style>

jquery键盘常见事件

时间: 2024-10-27 13:23:55

jquery键盘常见事件的相关文章

jquery api 常见 事件操作

change.html 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <title>ready.html</title> 5 <meta http-equiv="content-type" content="text/html; charset=UTF-8"

jquery 键盘回车事件

<input id="search" placeholder="输入要领用的资产条码" id="scanCode" type="text"> 输入文本后,回车事件 $('#search').keydown(function(e){ if (e.keyCode == 13) { var arg0 = $("#search").val(); //执行自己的搜索事件 alert(arg0); } })

jquery键盘事件全记录

很多时候,我们需要获取用户的键盘事件,下面就一起来看看jquery是如何操作键盘事件的. 一.首先需要知道的是: 1.keydown() keydown事件会在键盘按下时触发. 2.keyup() keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件 3.keypress() keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键 二.获得键盘上对应的ascII码: 1 2 3 $(document).keydown(function(event){        

JavaScript&amp;jQuery.键盘事件

键盘事件 键盘事件,当用户操作键盘时发生. 常见的键盘事件有: input,当<input>或<textarea>元素的值发生变化时触发. keydonw,当用户按下键盘上的任意键时触发. keypress,当用户按下键盘上一个键并在屏幕上反映一个字符时触发. keyup,当用户松开键盘上一个键时触发. <html> <head> <title>TODO supply a title</title> <meta charset=

jQuery键盘事件 ctrl+Enter回车键提交表单

分享下jquery键盘事件的一些例子,个人感觉还不错,有空时多多研究. 键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部.键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,document这样的元素上.在所有可以获得交点的元素上是可以触发键盘事件的,可以获得焦点的元素可以这样理解,在使用Tab键的时候可以跳跃到的元素就是可以使用键盘事件的元(在没有为这些元素设置tabindex属性值的情况下,当tabindex

Jquery基础之事件操作

事件是用户操作时页面或页面加载时引发的用来完成javascript和HTML之间的交互操作.常见的元素点击事件.鼠标事件.键盘输入事件等,较传Javascript 相比JQuery增加并扩展了基本的事件处理机制,极大的增强了事件处理的能力. 一.DOM加载事件 页面加载完毕后浏览器会通过javascript为Dom元素加载事件,使用Javascript时候使用的是window.onload方法,而Jquery使用的是$(document).ready()方法,下表 展示两个事件的异同.    w

DOM笔记(五):JavaScript的常见事件和Ajax小结

一.常见事件类型 1.鼠标事件 事件名称 说明 onclick 鼠标单击时触发 ondbclick 鼠标双击时触发 onmousedown 鼠标左键按下时触发 onmouseup 鼠标释放时触发 onmouseover 鼠标的光标移动到某对象上时触发 onmousemove 鼠标移动时触发 onmouseout 鼠标光标离开某对象时触发 ps:当单击一次鼠标左键的时候,将同时触发onclick.onmousedown.onmouseup三个事件,事件处理程序执行的先后顺序为:onmousedow

【总结整理】JQuery基础学习---事件篇

jQuery鼠标事件之click与dbclick事件 用交互操作中,最简单直接的操作就是点击操作.jQuery提供了两个方法一个是click方法用于监听用户单击操作,另一个方法是dbclick方法用于监听用户双击操作.这两个方法的用法是类似的,下面以click()事件为例 使用上非常简单: 方法一:$ele.click() 绑定$ele元素,不带任何参数一般是用来指定触发一个事件,用的比较少 <div id="test">点击触发<div> $("el

jQuery中的事件和动画

一.jQuery中的事件 加载DOM 在JS中等待页面加载完成通常使用window.onload方法,而在jQuery中则使用$(document).ready()方法来替代传统的window.onload方法.这两者有很大的不同: 执行时机 window.onload方法是在网页所有的元素(包括元素关联的文件)完全加载到浏览器后才能执行.而Query中的$(document).ready()方法,在DOM载入就绪就可以对其操纵并调用它绑定的函数,此时网页中的所有元素可能并没有下载完毕. 有时我