charCode與keyCode的區別


在標准瀏覽器下獲取鍵盤按鍵我們可以使用e.which,但是非標准下沒有這個屬性,所以大部分情況下用keyCode,但是這是存在兼容性問題的。我們來看下他兩的區別:

onkeydown: e.keyCode  有值

onkeyup: e.keyCode 有值

onkeypress: e.keyCode 為0

 

onkeydown: e.charCode  為0

onkeyup: e.charCode 為0

onkeypress: e.charCode 有值

 

結論:charCode 返回onkeypress事件觸發鍵值的字母代碼。

         keyCode 返回 onkeydown 或 onkeyup 事件的鍵的代碼。

 

做一下兼容處理:

function myFunction(e) {
    e || (e = window.event);
    if(e.which == null){
        e.which = e.charCode != null ? e.charCode : e.keyCode;
    }
}

 


免責聲明!

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



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