【javascript基础】keypress keydown keyup的区别

一、定义:

KeyDown:在控件有焦点的情况下按下键时发生。

pk10开奖结果KeyPress:在控件有焦点的情况下按下键时发生。(下面会说和KeyDown 的区别)

KeyUp:在控件有焦点的情况下释放键时发生。


 二、促发的顺序:

 

  1. KeyDown

  2. KeyPress

  3. KeyUp

 demo :

 

 

<input type="text" id="wrap" />

<script type="text/javascript">

function $(str){
    return document.getElementById(str);
}

$("wrap")["onkeyup"] = function(){
    console.log("促发的是keyup");
    console.warn("-------------------------------------");
};

$("wrap")["onkeypress"] = function(){
    console.log("促发的是keypress");
};

$("wrap")["onkeydown"] = function(){
    console.log("促发的是keydown");
};

</script>

 

 

三、三者之间的区别:

 

1.KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符 

KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)

demo:

下面的例子就测试下大小写,其他的可以自己测试,我前后输入大小写的q、Q,结果如下图,keypress区分大小写,并且通过charCode反应出来,keydown,keyup不区分大小写,前后keyCode都一样

 

 

<input type="text" id="wrap" />

<script type="text/javascript">

function $(str){
    return document.getElementById(str);
}

$("wrap")["onkeyup"] = function(event){
    event = event || window.event;
    console.info(event);
    console.log("促发的是keyup");
    console.warn("-------------------------------------");
};

$("wrap")["onkeypress"] = function(event){
    event = event || window.event;
    console.info(event);
    console.log("促发的是keypress");
};

$("wrap")["onkeydown"] = function(event){
    event = event || window.event;
    console.info(event);
    console.log("促发的是keydown");
};

</script>

 

 

 

 

 

 

 

2.KeyPress 只能捕获单个字符KeyDown 和KeyUp 可以捕获组合键。

 

 

 

3。KeyPress 可以捕获单个字符的大小写(详见第一个区别)

4.KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。

(详见第一个区别)

 

5.KeyPress 不区分小键盘和主键盘的数字字符。KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。

我依次按主键盘1,小键盘1,区别如下

 

 

 

6。其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。

 


 

 

 
友情链接:             
全站链接:
毕节中国旅游局-中国-毕节
2012 毕节中国旅游局版权所有. 创作者 【浙ICP备94292320号】【信息网络传播视听节目许可证:8830811】
 
pk10开奖结果_pGTEd5 pk10开奖结果_NX7SJN pk10开奖结果_Fenwad pk10开奖结果_ABS7s1A pk10开奖结果pk10开奖结果_FM6e1nt pk10开奖结果_LBbr3kN pk10开奖结果_HC61ITg pk10开奖结果_j6A7VG pk10开奖结果_z52Kz0 pk10开奖结果_mcrKJk