posts - 22,comments - 35,trackbacks - 0
          在使用JavaScript做WEB鍵盤(pán)事件偵聽(tīng)捕獲時(shí),主要采用onkeypress、onkeydown、onkeyup三個(gè)事件進(jìn)行出來(lái)。該三個(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ù)字鍵敏感。

          注:在Maxthon瀏覽器中,onkeydown和onkeyup有連續(xù)響應(yīng)兩次鍵盤(pán)事件的BUG,onkeydown不能正常地對(duì)F1~F12的功能鍵進(jìn)行正常的截獲(onkeyup沒(méi)有發(fā)現(xiàn)該問(wèn)題),具體原因不明。不知道以后是否會(huì)進(jìn)行訂正。
          posted on 2006-07-26 09:44 kelven 閱讀(7048) 評(píng)論(3)  編輯  收藏 所屬分類: JavaScript

          FeedBack:
          # re: JavaScript鍵盤(pán)事件偵聽(tīng)
          2008-05-15 11:13 | gogomarine
          寫(xiě)的好。。又多學(xué)到一些東西  回復(fù)  更多評(píng)論
            
          # re: JavaScript鍵盤(pán)事件偵聽(tīng)
          2012-11-16 09:59 | 似懂非懂
          在地士大夫壓頂 無(wú)可奈何花落去士大夫標(biāo)桿的仍地?zé)o可奈何花落去 地枯要绔  回復(fù)  更多評(píng)論
            
          # re: JavaScript鍵盤(pán)事件偵聽(tīng)[未登錄](méi)
          2012-11-16 10:00 | 111
          艱艱村士大夫在壓頂 震大是大非 壓頂 無(wú)可奈何花落去 梆梆 士大夫寺在副食店  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 焦作市| 湟源县| 剑川县| 崇义县| 金湖县| 桃园市| 邳州市| 吉水县| 汕尾市| 宜黄县| 鹰潭市| 吴江市| 卓资县| 彩票| 远安县| 三门峡市| 扬州市| 礼泉县| 夏津县| 历史| 铜梁县| 英吉沙县| 西林县| 两当县| 安达市| 玛多县| 开封县| 余庆县| 汽车| 体育| 游戏| 博客| 鹿泉市| 安康市| 永寿县| 炎陵县| 龙门县| 大丰市| 大理市| 固始县| 房产|