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

javascript 鍵盤(pán)事件總結(jié) 推薦

在form中, submit的快捷鍵是 enter,reset的快捷鍵是 esc。不過(guò)在IE6,safari4,ff3.5,opera10,chrome中,按Enter,不但激發(fā)form的submit事件,同時(shí)也會(huì)激發(fā)提交按鈕的onclick,激發(fā)順序?yàn)樘峤话粹o的 onclick → form 的 onsubmit。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
不過(guò)并不止提交按鈕會(huì)激發(fā)form的submit事件,連同上面的歸納如下:

1. 如果表單里有一個(gè)type="submit"的按鈕,回車(chē)鍵生效。
2. 如果表單里只有一個(gè)type="text"的input,不管按鈕是什么type,回車(chē)鍵生效。
3. 如果按鈕不是用input,而是用button,并且沒(méi)有加type,IE下默認(rèn)為type=button,F(xiàn)X默認(rèn)為type=submit。
4. 其他表單元素如textarea、select不影響,radio checkbox不影響觸發(fā)規(guī)則,但本身在FX下會(huì)響應(yīng)回車(chē)鍵,在IE下不響應(yīng)。
5. type="image"的input,效果等同于type="submit"。不知道為什么會(huì)設(shè)計(jì)這樣一種type,不推薦使用,應(yīng)該用CSS添加背景圖合適些。

除了在按鈕中綁定鍵盤(pán)事件外,瀏覽器還有一個(gè)accesskey 屬性來(lái)指定鏈接的快捷鍵。注意 accesskey 的設(shè)置如果和瀏覽器的菜單相同,會(huì)優(yōu)先于菜單。在IE中,快捷鍵是 alt + 設(shè)置的鍵值,F(xiàn)F是Alt+Shift+ 設(shè)置的鍵值。 在IE 中,a元素的 accesskey 只是使焦點(diǎn)轉(zhuǎn)移到鏈接上,并不等同于點(diǎn)擊,F(xiàn)F 中則相當(dāng)于點(diǎn)擊。與他對(duì)比的是,input type=checkbox 的 accesskey 效果不論在IE 還是 FF 中都是點(diǎn)擊。另外,我們還可以配合label標(biāo)簽來(lái)加強(qiáng)語(yǔ)義,個(gè)人是十分推薦這種做法的。

剩下的就需要編程了。Javascript事件主要通過(guò)以下三個(gè)事件來(lái)捕獲鍵盤(pán)事件:onkeydown,onkeypress與onkeyup。該三個(gè)事件的執(zhí)行順序如下:onkeydown -> onkeypress ->onkeyup。在一般情況下,采用三種鍵盤(pán)事件均可對(duì)鍵盤(pán)輸入進(jìn)行有效的響應(yīng)。當(dāng)在實(shí)際使用中,會(huì)發(fā)現(xiàn)這幾者有些不同的差別。

onkeypress事件不能對(duì)系統(tǒng)功能鍵(例如:后退、刪除等,其中對(duì)中文輸入法不能有效響應(yīng))進(jìn)行正常的響應(yīng),onkeydown和onkeyup均可以對(duì)系統(tǒng)功能鍵進(jìn)行有效的攔截,但事件截獲的位置不同,可以根據(jù)具體的情況選擇不同的鍵盤(pán)事件。

由于onkeypress不能對(duì)系統(tǒng)功能鍵進(jìn)行捕獲,導(dǎo)致window.event對(duì)象的keyCode屬性和onkeydown,onkeyup 鍵盤(pán)事件中獲取的keyCode屬性不同,主要表現(xiàn)在onkeypress事件的keyCode對(duì)字母的大小寫(xiě)敏感,而onkeydown、 onkeyup事件不敏感;onkeypress事件的keyCode無(wú)法區(qū)分主鍵盤(pán)上的數(shù)字鍵和副鍵盤(pán)數(shù)字鍵的,而onkeydown、onkeyup 的keyCode對(duì)主副鍵盤(pán)的數(shù)字鍵敏感。


[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]
我們可以利用以下腳本來(lái)監(jiān)聽(tīng)網(wǎng)頁(yè)中的鍵盤(pán)事件,一旦用戶按下Enter鍵便開(kāi)始你綁定的事件。
復(fù)制代碼 代碼如下:
function getKey(e){
e = e || window.event;
var keycode = e.which ? e.which : e.keyCode;
if(keycode == 13 || keycode == 108){ //如果按下ENTER鍵
//在這里設(shè)置你想綁定的事件
}
}

// 把keyup事件綁定到document中
function listenKey ( ) {
if (document.addEventListener) {
document.addEventListener("keyup",getKey,false);
} else if (document.attachEvent) {
document.attachEvent("onkeyup",getKey);
} else {
document.onkeyup = getKey;
}
}

最后附上,鍵盤(pán)中所有按鈕的keycode一覽
字母和數(shù)字鍵的鍵碼值(keyCode)
按鍵鍵碼按鍵鍵碼按鍵鍵碼按鍵鍵碼
A65J74S83149
B66K75T84250
C67L76U85351
D68M77V86452
E69N78W87553
F70O79X88654
G71P80Y89755
H72Q81Z90856
I73R82048957

數(shù)字鍵盤(pán)上的鍵的鍵碼值(keyCode)功能鍵鍵碼值(keyCode)
按鍵鍵碼按鍵鍵碼按鍵鍵碼按鍵鍵碼
0968104F1112F7118
1979105F2113F8119
298*106F3114F9120
399+107F4115F10121
4100Enter108F5116F11122
5101-109F6117F12123
6102.110    
7103/111    

控制鍵鍵碼值(keyCode)
按鍵鍵碼按鍵鍵碼按鍵鍵碼按鍵鍵碼
BackSpace8Esc27Right Arrow39-_189
Tab9Spacebar32Down Arrow40.>190
Clear12Page Up33Insert45/?191
Enter13Page Down34Delete46`~192
Shift16End35Num Lock144[{219
Control17Home36;:186/|220
Alt18Left Arrow37=+187]}221
Cape Lock20Up Arrow38,<188'"222

另外我們還可以用event.altKey,event.ctrlKey,event.metaKey(上有微軟的旗幟),event.shiftKey來(lái)判斷對(duì)應(yīng)的鍵是否被按下,因?yàn)樗鼈兌际欠祷匾粋€(gè)布爾值。

JavaScript技術(shù)javascript 鍵盤(pán)事件總結(jié) 推薦,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 色五月激情五月 | 大尺度人体videosex | 一级寡妇乱色毛片全场免费 | 黄色激情视频网址 | 亚洲一区高清 | 日本不卡一区 | 久久精品精品 | 日韩激情文学 | 日本免费久久久久久久网站 | 国产成品精品午夜视频 | 九草在线播放 | 久久激情五月 | 久久九九久精品国产 | 性欧美午夜高清在线观看 | 亚洲乱码在线观看 | 欧美成人三级网站在线观看 | 国内久久久久影院精品 | 大色视频| 亚洲国产精品一区二区三区久久 | 精品视频在线观看一区二区三区 | 米奇精品一区二区三区 | 337p欧洲亚洲大胆艺术 | 久9久9精品视频在线观看 | 亚洲国产精品免费在线观看 | 精品国产91久久久久久久 | 五月婷婷六月合 | 久久免费国产精品一区二区 | 五月天激情久久综合一区 | 91青青在线视频 | 久久私人影院 | 免费黄色视屏网站 | 久久九九综合 | 天天色踪合 | 五月婷婷开心 | 亚洲激情欧美 | 久久免费99精品国产自在现线 | 天天摸天天爽视频69视频 | 久久五月激情婷婷日韩 | 精品国产免费一区二区 | 亚洲国产激情一区二区三区 | 偷偷狠狠的日日2020 |