JS獲取鍵盤按下的鍵值event.keyCode,event.charCode,event.which的兼容性


js獲取鍵盤按下的鍵值有event.keyCode,event.charCodeevent.which

其中:

谷歌瀏覽器對event.keyCode,event.charCode和event.which都兼容。

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

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

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

ie瀏覽器中,IE8及以下瀏覽器對event.charCode無效,event.keyCode和event.which對大部分鍵值能獲得,但是有少部分也不能獲得

 

網絡查看說event.which 將 event.keyCode 和 event.charCode 標准化了。但實際還是有區別的。

所以一般都這樣寫兼容:

e.keyCode||e.which||e.charCode;

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

如下例子介紹Query限制文本框只能輸入數字和小數點的方法

$(function(){
        /*JQuery 限制文本框只能輸入數字*/
        $(".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設置輸入法不可用    

        /*JQuery 限制文本框只能輸入數字和小數點*/
        $(".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設置輸入法不可用    
    });

 

Keycode對照表如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM