js中獲取鍵盤(pán)按下鍵值event.keyCode、event.charCode和event.which的兼容性詳解
前言
在閱讀本文前,相信大家應(yīng)該都有所了解,在js獲取鍵盤(pán)按下的鍵值有:event.keyCode
、event.charCode
和event.which
。
其中:
谷歌瀏覽器:對(duì)event.keyCode
、event.charCode
和event.which
都兼容。
火狐瀏覽器:對(duì)event.keyCode
部分鍵值有效,如上下左右鍵(37,38,39,40),enter鍵(13),PgUp(33),PgDn(34)等部分有效,對(duì)數(shù)字鍵,字母鍵無(wú)效。
event.which
也是部分鍵值有效,如字母鍵,數(shù)字鍵,enter鍵,Backspace鍵等有效,對(duì)上下左右鍵,PgUp(33),PgDn(34)鍵無(wú)效。
event.charCode
也是對(duì)部分鍵值有效,如字母鍵,數(shù)字鍵,,Backspace鍵等有效,對(duì)enter鍵,上下左右鍵,PgUp(33),PgDn(34)鍵無(wú)效。
ie瀏覽器:中,IE8及以下瀏覽器對(duì)event.charCode
無(wú)效,event.keyCode
和event.which
對(duì)大部分鍵值能獲得,但是有少部分也不能獲得
網(wǎng)絡(luò)查看說(shuō)event.which
將 event.keyCode
和 event.charCode
標(biāo)準(zhǔn)化了。但實(shí)際還是有區(qū)別的。
所以一般都這樣寫(xiě)兼容:
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ì)照表如下:
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流component綁定
這篇文章主要介紹了KnockoutJS 3.X API 第四章之?dāng)?shù)據(jù)控制流component綁定的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10JavaScript基于自定義函數(shù)判斷變量類(lèi)型的實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript基于自定義函數(shù)判斷變量類(lèi)型的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了javascript判斷變量類(lèi)型的自定義函數(shù)定義與使用方法,并針對(duì)不同瀏覽器給出了相關(guān)的分析與說(shuō)明,需要的朋友可以參考下2016-11-11JavaScript數(shù)組去重的五種方法及其他細(xì)節(jié)和拓展
JavaScript數(shù)組去重這個(gè)問(wèn)題,經(jīng)常出現(xiàn)在面試題中,下面這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組去重的五種方法及其他細(xì)節(jié)和拓展的相關(guān)資料,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12原生javascript中this幾種常見(jiàn)用法總結(jié)
這篇文章主要介紹了原生javascript中this幾種常見(jiàn)用法,結(jié)合實(shí)例形式總結(jié)分析了JavaScript中this的功能、常見(jiàn)用法及操作注意事項(xiàng),需要的朋友可以參考下2020-02-02詳解微信小程序scroll-view橫向滾動(dòng)的實(shí)踐踩坑及隱藏其滾動(dòng)條的實(shí)現(xiàn)
這篇文章主要介紹了詳解微信小程序scroll-view橫向滾動(dòng)的實(shí)踐踩坑及隱藏其滾動(dòng)條的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03layui點(diǎn)擊左側(cè)導(dǎo)航欄,實(shí)現(xiàn)不刷新整個(gè)頁(yè)面,只刷新局部的方法
今天小編就為大家分享一篇layui點(diǎn)擊左側(cè)導(dǎo)航欄,實(shí)現(xiàn)不刷新整個(gè)頁(yè)面,只刷新局部的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09用于節(jié)點(diǎn)操作的API,顛覆原生操作HTML DOM節(jié)點(diǎn)的API
敏捷開(kāi)發(fā)是一種以人為核心、迭代、循序漸進(jìn)的開(kāi)發(fā)方法。在敏捷開(kāi)發(fā)中,軟件項(xiàng)目的構(gòu)建被切分成多個(gè)子項(xiàng)目,各個(gè)子項(xiàng)目的成果都經(jīng)過(guò)測(cè)試,具備集成和可運(yùn)行的特征。2010-12-12