正如我們了解到的,瀏覽器在最開始設計的時候并沒有一個標準,大家都像做實驗似的,最后的成品雖然 " /> 在线免费观看视频黄,成人欧美一区在线视频在线观看 ,japanese色系

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript Event學習第十一章 按鍵的檢測

第一個問題是對于按鍵事件來說根本就沒有標準,按照規范說的:包含鍵盤等輸入設備的事件模型會在以后的DOM規范中作出解釋。

正如我們了解到的,瀏覽器在最開始設計的時候并沒有一個標準,大家都像做實驗似的,最后的成品雖然是有用的,但是肯定造成了兼容性的問題。按鍵問題也不例外:這里有兩個屬性能檢測到用戶按下了什么鍵,雖然有足夠的理由為什么需要兩個屬性,但是依然并不是所有的瀏覽器都支持。

另外,在keypress與keydown和keyup之間還有一些很重要的區別。

最后就是windows和mac的區別了,在mac上要檢測用戶按下了什么鍵簡直比在windows下難了N倍。

keyCode和charCode
能檢測到用戶按下了什么鍵的兩個屬性就是keyCode和charCode了。簡單說來:keyCode是用來檢測用戶真正按下了鍵盤上那個鍵的,而charCode則是給出鍵入字符的ASCII碼。有一些小問題需要注意:大寫的A和小寫的a的keyCode是一樣的,因為他們在鍵盤上就是一個鍵;但是charCode不一樣,因為他倆是兩個不同的字符。

IE和Opera不支持charCode。然而他們會在keyCode里面保存字符信息,但是只是在onkeypress的情況下,在onkeydown/up情況下包含的是鍵的信息。

字符和數字鍵
讓我們以一個簡單的例子開始。小寫a的ASCII碼是97,大寫的是65。那么在兩種情況下,當用戶在鍵盤上敲下相同的鍵的時候,什么時候的鍵值是65呢(相當于大寫的A)

keyCode

image

 

charCode

image
因此,在onkeydown/up的情況下,你能夠從keyCode里面得到鍵值。在onkeypress情況下,想要得到字符值就要使用:evt.charCode || evt.keyCode.

標點符號
我還是決定不對標點符號鍵做測試了。我懷疑這不僅跟瀏覽器和操作系統有關,還可能跟鍵盤設置和默認語言有關。我一般用的是荷蘭語版的windows,如果跟美國版的101鍵的鍵盤相比有很大出入,我一點都不會覺得意外。

比如說shift+,鍵出來的應該是<,但是我測試的ASCII碼的結果卻是'?'的。當我發現了這個問題,我決定還是不在標點符號鍵的問題上浪費時間了.

特別鍵
功能鍵就是只那些不能打印出來的但是卻具有一定功能的鍵。比如shift、ESC、enter等等都是功能鍵。

一些說明:
1、一般,mac的可靠性比windows要差,有些鍵可能檢測不到

2、IE不會觸發下面這鍵的keypress事件:delete, end, enter, escape, 功能鍵, home, insert, pageUp/Down 和 tab。

3、在onkeypress事件下,Safari會給下面這些鍵給出很奇怪的keyCode值:delete, end, 功能鍵, home 和 pageUp.Down。但是在onkeydown/up下面就很正常。

4、Alt,Cmd,Ctrl和shfit鍵在mac上無法探測,不過Opera下面例外。然而你卻可以使用altKey,ctrlKey,shfitKey這些屬性。

如果你需要探測這些鍵,你就探測一下載onkeydown/up下面的keyCode就行了,算是給自己幫忙了,onkeypress和charCode就忘掉吧。

原文后面有個大的鍵值的列表,還有一個測試框,有興趣的童鞋可以移步。
翻譯地址:http://www.quirksmode.org/js/keys.html

轉載請保留以下信息
作者:北玉(tw:@rehawk)

JavaScript技術JavaScript Event學習第十一章 按鍵的檢測,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91自啪 | 国产亚洲欧美另类久久久 | 香蕉久久影院 | 中文字幕1区 | 午夜视频免费 | 福利精品 | 蜜桃嫩草 | 精品久久久噜噜噜久久7 | 精品视频在线观看免费 | 久久在现| 波多野结衣一区二区三区高清在线 | 久久夜色精品国产噜噜 | 色com| 久久九九青青国产精品 | 色爽| 国产日韩欧美一区二区三区综合 | 五月婷婷六月激情 | 国产免费人成在线看视频 | 激情小说激情图片激情视频 | 亚洲福利视频网站 | 亚洲乱码在线观看 | 国产成人免费高清激情视频 | 免费高清视频日本 | 麻豆第一页 | 亚洲国产精品久久网午夜 | 国内精品福利在线视频 | 中国第一毛片 | 亚洲六月丁香六月婷婷蜜芽 | 真实国产乱子伦在线观看 | 激情综合五月天 | 国产一级二级在线观看 | 草草草网站 | 91专区在线观看 | 亚洲一区中文 | 91热精品视频 | 人人干在线 | 婷婷激情在线视频 | 欧美日本一二三区 | 久久久久国产精品美女毛片 | 91大神麻豆 | 日本道综合一本久久久88 |