溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

js中獲取鍵盤按下鍵值event.keyCode、event.charCode和event.which的兼容性詳解

發(fā)布時(shí)間:2020-09-15 13:45:06 來源:腳本之家 閱讀:124 作者:風(fēng)雨后見彩虹 欄目:web開發(fā)

前言

在閱讀本文前,相信大家應(yīng)該都有所了解,在js獲取鍵盤按下的鍵值有:event.keyCode、event.charCodeevent.which。

其中:

谷歌瀏覽器:對(duì)event.keyCode、event.charCodeevent.which都兼容。

火狐瀏覽器:對(duì)event.keyCode部分鍵值有效,如上下左右鍵(37,38,39,40),enter鍵(13),PgUp(33),PgDn(34)等部分有效,對(duì)數(shù)字鍵,字母鍵無效。

event.which也是部分鍵值有效,如字母鍵,數(shù)字鍵,enter鍵,Backspace鍵等有效,對(duì)上下左右鍵,PgUp(33),PgDn(34)鍵無效。

event.charCode也是對(duì)部分鍵值有效,如字母鍵,數(shù)字鍵,,Backspace鍵等有效,對(duì)enter鍵,上下左右鍵,PgUp(33),PgDn(34)鍵無效。

ie瀏覽器:中,IE8及以下瀏覽器對(duì)event.charCode無效,event.keyCodeevent.which對(duì)大部分鍵值能獲得,但是有少部分也不能獲得

網(wǎng)絡(luò)查看說event.which event.keyCode event.charCode 標(biāo)準(zhǔn)化了。但實(shí)際還是有區(qū)別的。

所以一般都這樣寫兼容:

e.keyCode<span class="hljs-params">||</span>e.which<span class="hljs-params">||</span>e.charCode;

jquery API地址:http://api.jquery.com/event.which/

如下例子介紹Query限制文本框只能輸入數(shù)字和小數(shù)點(diǎn)的方法

$(function(){
 /*JQuery 限制文本框只能輸入數(shù)字*/
 $(".NumText").keyup(function(){
  $(this).val($(this).val().replace(/[^0-9]/g,''));
 }).bind("paste",function(){ //CTR+V事件處理 
  $(this).val($(this).val().replace(/[^0-9]/g,''));
 }).css("ime-mode", "disabled"); //CSS設(shè)置輸入法不可用 

 /*JQuery 限制文本框只能輸入數(shù)字和小數(shù)點(diǎn)*/
 $(".NumDecText").keyup(function(){
  $(this).val($(this).val().replace(/[^0-9.]/g,''));
 }).bind("paste",function(){ //CTR+V事件處理 
  $(this).val($(this).val().replace(/[^0-9.]/g,''));
 }).css("ime-mode", "disabled"); //CSS設(shè)置輸入法不可用 
 });

Keycode對(duì)照表如下:

js中獲取鍵盤按下鍵值event.keyCode、event.charCode和event.which的兼容性詳解

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI