??????? onkeypress事件不能對系統(tǒng)功能鍵(例如:后退、刪除等,其中對中文輸入法不能有效響應(yīng))進行正常的響應(yīng),onkeydown和onkeyup均可以對系統(tǒng)功能鍵進行有效的攔截,但事件截獲的位置不同,可以根據(jù)具體的情況選擇不同的鍵盤事件。
??????? 由于onkeypress不能對系統(tǒng)功能鍵進行捕獲,導(dǎo)致window.event對象的keyCode屬性和onkeydown,onkeyup鍵盤事件中獲取的keyCode屬性不同,主要表現(xiàn)在onkeypress事件的keyCode對字母的大小寫敏感,而onkeydown、onkeyup事件不敏感;onkeypress事件的keyCode無法區(qū)分主鍵盤上的數(shù)字鍵和付鍵盤數(shù)字鍵的,而onkeydown、onkeyup的keyCode對主付鍵盤的數(shù)字鍵敏感。
注:在Maxthon瀏覽器中,onkeydown和onkeyup有連續(xù)響應(yīng)兩次鍵盤事件的BUG,onkeydown不能正常地對F1~F12的功能鍵進行正常的截獲(onkeyup沒有發(fā)現(xiàn)該問題),具體原因不明。不知道以后是否會進行訂正。