亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

區別有疑惑

不是無法響應系統功能鍵嗎,但是我嘗試了,還是可以響應。


正在回答

3 回答

英文輸入法:

事件觸發順序:keydown - > keypress - > keyup

中文輸入法:

firfox:輸入觸發keydown,回車確認輸入觸發keyup

chrome:輸入觸發keydown、keyup,回車確認輸入只觸發keydown

IE:輸入觸發keydown、keyup,回車確認輸入觸發keydown,keyup

Safari:輸入觸發keydown、keyup,回車確認輸入觸發keydown,keyup

opera:輸入觸發keydown、keyup,回車確認輸入觸發keydown,keyup

keypress事件不能對系統功能鍵(例如:后退、刪除等,其中對中文輸入法不能有效響應)進行正常的響應,

keydown和keyup均可以對系統功能鍵進行有效的攔截,但事件截獲的位置不同。

鍵盤中的鍵分為字符(可打印)鍵和功能鍵(不可打印),系統功能鍵包括如下:

Esc、Tab、Caps Lock、Shift、Ctrl、Alt、Enter、Backspace、Print Screen、Scroll Lock、Pause Break、Insert、Delete、Home、End、Page Up、Page Down,?F1through F12,Num Lock、The Arrow Keys。

keypress響應系統功能鍵總結:

Firefox:支持 Esc、Enter、Backspace、Pause Break、Insert、Delete、Home、End、Page Up、Page Down、F1 throughF12、The Arrow Keys

Chrome:支持Enter

Oprea:支持Enter

Safari:支持Enter

IE:支持Esc、Enter

ps:

firefox:上下左右鍵會觸發kepress.

chrome:?上下左右鍵不會觸發kepress.

oprea:上下左右鍵不會觸發kepress.

safari:上下左右鍵不會觸發kepress.

IE:上下左右鍵不會觸發kepress.

=====================================================================

keyCode(鍵碼), which, charCode(字符編碼)

keydown:?獲得keyCode, charCode=0

keypress: 字符(英文區分大小寫+數字 ?/ *, . ?...等非功能鍵),keyCode=0 ,獲取charCode值,反之獲取keyCode, charCode=0

keyup:?獲得keyCode, charCode=0

jQuery?中 event.which =original.charCode != null ? original.charCode : original.keyCode;

總結:回車、上下左右、等功能鍵keydown、keypress、keyup都獲取keyCode,并且值相等。

?

開啟大寫情況,keydown、keypress(字母,主鍵盤數字、回車)、keyup,which值相等,小寫kepress獲取的which不同于keypress、keyup。

keypress事件的keyCode對字母的大小寫敏感,而keydown、keyup事件不敏感

keypress事件的which值無法區分主鍵盤上的數字鍵和附鍵盤數字鍵的,而keydown、keyup的which值對主附鍵盤的數字鍵敏感。

IE(ie9以下)只有一個屬性KeyCode屬性,當為keydown和keyup 事件是,keycode屬性表示你具體按下的鍵(也稱為virtualkeycode),當捕捉的是keypress事件時keyCode屬性指的是你鍵入的字符(character code)???

?

標準瀏覽器中情況有些不同,event對象包含一個keyCode屬性和一個charCode屬性,keydown和keyup事件的時候,keyCode表示的就是你具體按的鍵,charCode為0;當捕捉的是keypress事件時,keyCode為0,charCode指的是你按下的字符,鑒于IE和FF中的區別,如果你比較懶的話,建議只使用keydow和keyup事件

?應該是jq版本的原因,可以響應的。

1 回復 有任何疑惑可以回復我~
#1

qq_無垢的季節_03545899 提問者

真多??!不過,非常感謝,很有幫助。
2017-01-13 回復 有任何疑惑可以回復我~

我也不知道

0 回復 有任何疑惑可以回復我~

f5 是刷新 你能響應嗎 我都響應不了

0 回復 有任何疑惑可以回復我~
#1

qq_無垢的季節_03545899 提問者

按f5,之前顯示內容消失了,重新按普通鍵內容又顯示回來.這算不算響應
2017-01-06 回復 有任何疑惑可以回復我~
#2

qq_無垢的季節_03545899 提問者

我用的是火狐瀏覽器
2017-01-06 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

區別有疑惑

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號