zoukankan      html  css  js  c++  java
  • Js监听键盘事件

    表单提交的时候大多数用户都习惯用回车键来进行提交,页面接受回车键的处理如下:

    注意:

    if(navigator.userAgent.indexOf("MSIE")>0)  {          
     //IE           document.onkeydown=function(){
            if(13 == event.keyCode){
              alert('browser is ie and enter key down');
            }
          } }else{  
     //非IE           window.onkeydown=function(){
            if(13 == event.keyCode){
              alert('browser is not ie and enter key down');
            }

          } }
    附常用功能键 
    值 描述 

    8 BACKSPACE 键
    9 TAB 键
    13 ENTER 键
    16 SHIFT 键
    17 CTRL 键
    20 CAPS LOCK 键
    27 ESC 键
    32 SPACEBAR 键
    33 PAGEUP 键
    34 PAGEDOWN 键
    35 END 键
    42 PRINT SCREEN 键
    46 DEL 键
    144 NUM LOCK 键


    判断方法:
      
       在填写表单时,习惯性会按下回车键,这将导致表单提交,很不好,这里介绍一个方法截获它。
      
        其实很简单,只要在想截获的区域增加Onkeydown事件函数,并在执行函数中写下如下语句:
      
        if (window.event.keyCode==13) window.event.keyCode=0
      
        这样就取消回车键了
      
        如果想模拟Tab键,只要写成
      
        if (window.event.keyCode==13) window.event.keyCode=9
      
        就行了,它会跳到另一个元素上。


    键盘事件:
       
      名称 说明 
      onkeypress
       这个事件在用户按下并放开任何字母数字键时发生。系统按钮(例如,箭头键和功能键)无法得到识别。
       
      onkeyup
       这个事件在用户放开任何先前按下的键盘键时发生。
       
      onkeydown
       这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。


       在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress、onkeydown、onkeyup三个事件进行出来。该三个事件的执行顺序如下:onkeydown -> onkeypress ->onkeyup。在一般情况下,采用三种键盘事件均可对键盘输入进行有效的响应。当在实际使用中,会发现这几者有些不同的差别。
      
      onkeypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,onkeydown和onkeyup均可以对系统功能键进行有效的拦截,但事件截获的位置不同,可以根据具体的情况选择不同的键盘事件。
       由于onkeypress不能对系统功能键进行捕获,导致window.event对象的keyCode属性和onkeydown,onkeyup键盘事件中获取的keyCode属性不同,主要表现在onkeypress事件的keyCode对字母的大小写敏感,而onkeydown、onkeyup事件不敏感;onkeypress事件的keyCode无法区分主键盘上的数字键和付键盘数字键的,而onkeydown、onkeyup的keyCode对主付键盘的数字键敏感。 
  • 相关阅读:
    366. Find Leaves of Binary Tree输出层数相同的叶子节点
    716. Max Stack实现一个最大stack
    515. Find Largest Value in Each Tree Row查找一行中的最大值
    364. Nested List Weight Sum II 大小反向的括号加权求和
    156. Binary Tree Upside Down反转二叉树
    698. Partition to K Equal Sum Subsets 数组分成和相同的k组
    244. Shortest Word Distance II 实现数组中的最短距离单词
    187. Repeated DNA Sequences重复的DNA子串序列
    java之hibernate之基于主键的双向一对一关联映射
    java之hibernate之基于主键的单向一对一关联映射
  • 原文地址:https://www.cnblogs.com/52XF/p/3755196.html
Copyright © 2011-2022 走看看