課程
/前端開發
/jQuery
/jQuery基礎(三)—事件篇
不是無法響應系統功能鍵嗎,但是我嘗試了,還是可以響應。
2017-01-04
源自:jQuery基礎(三)—事件篇 4-2
正在回答
英文輸入法:
事件觸發順序: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版本的原因,可以響應的。
qq_無垢的季節_03545899 提問者
我也不知道
f5 是刷新 你能響應嗎 我都響應不了
舉報
jQuery第三階段開啟事件修煉,掌握對頁面進行交互的操作
2 回答this.textContent 與 e.target.textContent 有和區別?
3 回答focus和focusout有什么區別
4 回答e.target和this有什么區別???
2 回答加不加div有什么區別?
2 回答bind()和on()有什么區別嘛
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-01-12
英文輸入法:
事件觸發順序: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版本的原因,可以響應的。
2017-01-07
我也不知道
2017-01-05
f5 是刷新 你能響應嗎 我都響應不了