精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在JavaScript中監(jiān)聽(tīng)I(yíng)ME鍵盤(pán)輸入事件

開(kāi)發(fā) 前端
在 JavaScript 中監(jiān)聽(tīng)用戶的鍵盤(pán)輸入是很容易的事情,但用戶一旦使用了輸入法,問(wèn)題就變得復(fù)雜了。輸入法應(yīng)當(dāng)如何觸發(fā)鍵盤(pán)事件呢?是每一下?lián)翩I都觸發(fā)一次事件,還是選詞完畢才觸發(fā)事件呢?整句輸入又該如何觸發(fā)事件呢?不同的操作系統(tǒng)和不同的瀏覽器對(duì)此有不同的看法。

在最糟糕的情況下,用戶使用輸入法后瀏覽器就只觸發(fā)一次 keydown ,之后就沒(méi)有任何的鍵盤(pán)事件了。這對(duì)于 Suggestion 控件的實(shí)現(xiàn)來(lái)說(shuō)是個(gè)大問(wèn)題,因?yàn)?Suggestion 控件需要監(jiān)聽(tīng)文本輸入框的變化,而事件是最準(zhǔn)確也最節(jié)省計(jì)算資源的做法,如果換成輪詢的話性能就可能受到影響。

首先,要監(jiān)聽(tīng)啟用輸入法后的擊鍵事件應(yīng)當(dāng)使用 keydown 事件,這是信息最豐富的一個(gè)事件,因?yàn)樵趩⒂幂斎敕ê髣e的鍵盤(pán)事件可能不會(huì)被觸發(fā)。其次,大多數(shù)操作系統(tǒng)和瀏覽器都實(shí)現(xiàn)了一個(gè)事實(shí)標(biāo)準(zhǔn),就是在用戶使用輸入法輸入時(shí), keydown 事件傳入的 keyCode 取值為 229 。然而觸發(fā) keydown 的頻率是不確定的,有些情況下每一下?lián)翩I都觸發(fā)事件,有些情況下只有選詞完畢才觸發(fā)事件。這時(shí)候,如果我們還是要實(shí)時(shí)監(jiān)控文本框的內(nèi)容變化,就必須使用輪詢了。

  1. var timer;   
  2. var imeKey = 229;   
  3.  
  4. function keydownHandler (e) {   
  5.   clearInterval(timer)   
  6.   if (e.keyCode == imeKey) {   
  7.     timer = setInterval(checkTextValue, 50);   
  8.   } else {   
  9.     checkTextValue();   
  10.   }   
  11. }   
  12.  
  13. function checkTextValue() {   
  14.   /* handle input text change */   
  15. }  

Opera 是一款有趣的瀏覽器,別人做的事情它都不做,別人都不做的事情它都喜歡做。例如說(shuō),它偏偏不支持 keyCode == 229 這個(gè)事實(shí)標(biāo)準(zhǔn),而要使用 keyCode == 197 來(lái)表示輸入法的使用。因此,你需要在上述代碼的基礎(chǔ)上做一下改良,如果監(jiān)測(cè)到是 Opera 瀏覽器,就換一個(gè) keyCode 常量來(lái)做比較。

  1. var imeKey = (UA.Opera == 0) ? 229 : 197;  

***,還有一個(gè)更不受重視的瀏覽器叫做 Firefox for Mac 。估計(jì)是因?yàn)?Mac 版本對(duì)于 Mozilla 來(lái)說(shuō)實(shí)在是太不重要了,所以很多 Windows 版本都沒(méi)問(wèn)題的地方 Mac 版本就會(huì)出小問(wèn)題,例如說(shuō)對(duì)上述事件的支持。 Firefox for Mac 不會(huì)出現(xiàn) keyCode == 229 的情況,而且在輸入法啟用后只有***下?lián)翩I會(huì)觸發(fā) keydown 事件,因此只能在擊鍵后一直使用輪詢。

  1. if (e.keyCode == imeKey || UA.Firefox > 0 && UA.OS == 'Macintosh') {  

在添加了這兩項(xiàng)改進(jìn)后,實(shí)時(shí)監(jiān)控文本框的變化就沒(méi)有問(wèn)題了,即使用戶啟用了輸入法。完整的代碼如下:

  1. var timer;   
  2. var imeKey = (UA.Opera == 0) ? 229 : 197;   
  3.  
  4. function keydownHandler (e) {   
  5.   clearInterval(timer)   
  6.   if (e.keyCode == imeKey || UA.Firefox > 0 && UA.OS == 'Macintosh') {   
  7.     timer = setInterval(checkTextValue, 50);   
  8.   } else {   
  9.     checkTextValue();   
  10.   }   
  11. }   
  12.  
  13. function checkTextValue() {   
  14.   /* handle input text change */   

【編輯推薦】

  1. 驚動(dòng)大神的JavaScript:在Web上運(yùn)行Linux
  2. 19個(gè)很有用的JavaScript庫(kù)強(qiáng)烈推薦
  3. 15款超棒的JavaScript開(kāi)發(fā)工具推薦
  4. 用JavaScript防止網(wǎng)站被掛IFRAME木馬的方法
  5. 從零開(kāi)始學(xué)習(xí)jQuery之你必須知道的JavaScript
責(zé)任編輯:陳貽新 來(lái)源: Cat Chen的博客
相關(guān)推薦

2010-01-12 17:49:03

VB.NET鍵盤(pán)輸入

2010-07-29 10:33:59

Flex鍵盤(pán)事件

2010-06-21 15:39:59

Windows Pho

2015-07-08 16:46:05

iOS鍵盤(pán)

2017-10-17 15:40:25

javascript刷新頁(yè)面

2010-08-06 10:03:42

Flex事件

2021-03-23 10:01:41

JavaScript事件監(jiān)聽(tīng)開(kāi)發(fā)技術(shù)

2009-08-04 09:56:46

C#事件處理自定義事件

2023-12-05 18:09:04

2023-05-05 17:11:11

前端Mousetrap方式

2011-06-16 14:38:18

JavaScript事件委托

2010-08-09 11:06:01

Flex事件機(jī)制

2020-02-04 09:18:28

PythonRedis數(shù)據(jù)

2009-06-17 09:48:11

javascript手事件參考

2010-08-09 09:47:34

Flex事件機(jī)制

2023-11-02 08:10:13

框架Spring程序事件

2010-07-29 10:40:12

2010-07-29 10:27:30

Flex鍵盤(pán)事件

2013-09-13 13:15:28

AndroidWebViewJavaScript

2009-12-30 14:36:29

Silverlight
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲第一福利视频在线| 免费在线观看成人av| 欧美日韩久久一区| 男女爱爱视频网站| 天堂视频中文在线| 日韩一区欧美二区| 久热爱精品视频线路一| 97人妻精品一区二区三区免| 黄色精品视频网站| 亚洲国产视频在线| 日本一区二区久久精品| 国产婷婷一区二区三区久久| 亚洲精品乱码| 色偷偷888欧美精品久久久 | 日本不卡视频在线| 久久夜色精品亚洲噜噜国产mv| 中文字幕在线国产| 午夜激情成人网| 亚洲黄色性网站| 日本不卡高清视频一区| 风流少妇一区二区三区91| 丝袜亚洲另类丝袜在线| 欧美激情亚洲视频| 日本女人性生活视频| 久久影院资源站| 这里是久久伊人| 国产一区二区视频免费在线观看 | 九九久久综合网站| 亚洲人成人无码网www国产| 日韩不卡在线视频| 欧美三级韩国三级日本三斤| 欧美老熟妇喷水| 亚洲区欧洲区| 国产色爱av资源综合区| 狠狠干一区二区| 国产肥老妇视频| 日韩激情在线观看| 欧美亚洲国产日韩2020| 久久久久久久久久99| 成人羞羞视频播放网站| 日韩av一卡二卡| 熟女人妻一区二区三区免费看| 国产a亚洲精品| 一本色道综合亚洲| 亚洲不卡中文字幕无码| 精精国产xxxx视频在线中文版| 国产精品乱码久久久久久| 欧美美乳视频网站在线观看| 五月婷婷深深爱| 国产成人av电影| 亚洲一区久久久| 一道本无吗一区| 青草av.久久免费一区| 日韩免费精品视频| 亚洲黄网在线观看| 乱人伦精品视频在线观看| 91精品国产91久久久久福利| 日本熟妇毛茸茸丰满| 韩国在线一区| 午夜剧场成人观在线视频免费观看| 四虎永久免费在线| 欧美在线资源| 欧美精品激情在线观看| 精品一区在线视频| 亚洲电影在线| 91av成人在线| 男人日女人网站| 久久高清国产| 国产精品观看在线亚洲人成网| 亚洲 日本 欧美 中文幕| 裸体一区二区| 国产精品日韩在线播放| 亚洲综合网av| 国产伦精品一区二区三区免费迷| 亚洲资源在线看| 亚洲xxxx天美| av一本久道久久综合久久鬼色| 精品视频在线观看| 日本不卡久久| 中文字幕视频二区| 极品少妇xxxx精品少妇| 91传媒视频在线观看| 国产 欧美 自拍| wwwwxxxxx欧美| 欧美下载看逼逼| 午夜毛片在线| 亚洲激情网站免费观看| 日韩黄色短视频| 一区二区三区短视频| 欧美视频一区二区三区四区| 精品国产鲁一鲁一区二区三区| youjizzjizz亚洲| 亚洲欧美综合v| 美女视频久久久| 亚洲激情专区| 国产精品一区二区久久| 亚洲成人精品女人久久久| 91在线视频在线| 一卡二卡3卡四卡高清精品视频| 影音先锋男人在线资源| 狠狠操狠狠色综合网| 香港日本韩国三级网站| 国产精品美女在线观看直播| 亚洲偷欧美偷国内偷| 手机在线免费看片| 欧美亚洲三区| 成人做爽爽免费视频| 人人妻人人澡人人爽久久av| 欧美国产97人人爽人人喊| 黄色录像特级片| 欧美日韩免费看片| 日韩欧美123| 人人妻人人澡人人爽| 国产精品啊啊啊| 国产精品视频色| 日韩一区免费视频| 中文字幕中文在线不卡住| 日韩欧美一区二| 91麻豆精品| 国产一区二区激情| 亚洲欧美在线观看视频| 国产美女在线精品| 日韩欧美手机在线| 在线女人免费视频| 精品欧美久久久| 亚洲av无一区二区三区| 9999在线精品视频| 不卡的av电影| 久久av免费观看| 永久免费网站在线| 欧美高清你懂得| 中文字幕人妻一区二区三区在线视频| 亚洲天堂久久| 91gao视频| 欧美18hd| 欧美日韩视频不卡| 人妻aⅴ无码一区二区三区| 国内精品久久久久久久97牛牛| 国产在线久久久| 国产福利免费在线观看| 日本黄色一区二区| 醉酒壮男gay强迫野外xx| 极品少妇一区二区三区| 91精品久久久久久蜜桃| 日本在线免费看| 欧美日韩国产另类一区| 九九九视频在线观看| 久热精品视频| 欧美久久久久久一卡四| 日本综合字幕| 亚洲欧美精品一区| 丰满少妇xoxoxo视频| 久久综合色之久久综合| 欧美亚洲另类色图| 精品伊人久久久| 久久久久久成人精品| 亚洲欧美另类日韩| 亚洲国产精品人人做人人爽| 久久久午夜精品福利内容| 影音先锋亚洲精品| 精品欧美日韩| 亚洲欧美电影| 亚洲欧美日韩精品久久| 亚洲天堂五月天| 中文字幕欧美日韩一区| www亚洲成人| 久久久久久久久久久9不雅视频 | 麻豆国产一区二区三区四区| 久久亚洲精品网站| 性一交一乱一精一晶| 艳妇臀荡乳欲伦亚洲一区| 国产精品果冻传媒| 亚洲尤物影院| 亚洲国产日韩美| 在线播放成人| 欧美激情一区二区三区成人| 亚洲欧美自偷自拍| 在线中文一区| 国产成人精品免高潮费视频| 91福利在线视频| 91精品福利在线一区二区三区| 欧美日韩激情在线观看| 99九九99九九九视频精品| 国产1区2区在线| 欧美国产一区二区三区激情无套| 亚洲va国产va天堂va久久| 麻豆福利在线观看| 亚洲精品有码在线| 国产又黄又大又爽| 亚洲成人777| 亚洲午夜久久久久久久国产| 麻豆国产精品官网| 99热亚洲精品| 精品国产一级毛片| 97se国产在线视频| 国产精选在线| 亚洲性猛交xxxxwww| 国产精品探花视频| 精品久久久一区| 亚洲一级理论片| 成人一区二区三区视频| 蜜臀久久99精品久久久酒店新书 | 久久爱.com| 欧美疯狂性受xxxxx另类| 四虎精品在线| 欧美一区二区三区视频在线观看| 日韩三级一区二区三区| 国产精品久久看| 中文成人无字幕乱码精品区| 美女一区二区三区在线观看| 国产在线播放观看| 婷婷综合伊人| 美媛馆国产精品一区二区| 未满十八勿进黄网站一区不卡| 性色av香蕉一区二区| 婷婷激情在线| 亚洲欧美福利视频| 日本黄色一区二区三区| 91精品综合久久久久久| 亚洲欧美日韩激情| 亚洲国产一区二区三区| www.av免费| 久久精品视频一区二区三区| 国产污在线观看| 国产一区二区电影| 一区二区三区免费播放| 亚洲一区成人| 日韩精品一区在线视频| 亚洲电影在线一区二区三区| 日韩免费三级| 免费看成人哺乳视频网站| 午夜电影网一区| 阿v天堂2018| 91精品一区二区三区综合| 日本免费高清一区二区| 欧美电影在线观看免费| 国产a一区二区| 韩国三级大全久久网站| 91精品久久久久久久久久另类| 成人香蕉视频| 欧美在线视频导航| av资源在线| 国自产精品手机在线观看视频| 成人三级网址| 美女av一区二区三区| 快射视频在线观看| 日韩视频欧美视频| 欧美高清视频| 久久精品国产一区| 黄色网页在线看| 不卡毛片在线看| av在线官网| 欧美成人免费全部| 色呦呦在线播放| 欧美日韩成人在线视频| av在线free| 欧美国产中文字幕| 污视频网站免费在线观看| 欧美黄色成人网| 国产丝袜在线播放| 国产69精品久久久久99| 国产精品一二三产区| 88国产精品欧美一区二区三区| 小h片在线观看| 国产成人精品免高潮在线观看| 丁香六月综合| 国产精品极品尤物在线观看| 99久久伊人| 成人免费淫片aa视频免费| 欧美不卡在线观看| 国产日韩欧美精品| 综合国产视频| 亚洲精品一卡二卡三卡四卡| 天天综合网91| 777av视频| 丝袜亚洲另类欧美| 成年网站免费在线观看| 国产乱理伦片在线观看夜一区| 欧美丰满熟妇bbb久久久| jlzzjlzz亚洲日本少妇| 精品人伦一区二区三电影| 一区二区中文视频| 久久精品久久国产| 色婷婷亚洲综合| 国产又色又爽又黄又免费| 欧美成人性福生活免费看| 欧美日韩在线中文字幕| 最新国产精品亚洲| 免费av不卡在线观看| 欧美中文字幕精品| crdy在线观看欧美| 久久99精品久久久久久久青青日本 | 色噜噜狠狠成人中文综合| 亚洲视频在线观看免费视频| 日韩午夜精品电影| 邻居大乳一区二区三区| 久久成人免费视频| 三级中文字幕在线观看| 国产热re99久久6国产精品| 国产精伦一区二区三区| 色视频一区二区三区| 精品福利av| 日本中文字幕高清| 成人污视频在线观看| 欧美极品jizzhd欧美18| 天天亚洲美女在线视频| 国产一区二区女内射| 亚洲久久久久久久久久| 国产视频在线播放| 国产精品 欧美在线| 91蝌蚪精品视频| 亚洲自拍偷拍二区| 夜夜爽av福利精品导航| 伊人色在线视频| 久久伊人蜜桃av一区二区| 美国黄色小视频| 欧美日韩在线一区二区| 麻豆影视在线| 久久久爽爽爽美女图片| 国产激情综合| 日韩少妇中文字幕| 国产精品日韩精品欧美精品| jjzz黄色片| 亚洲免费av网站| 中文字幕乱码无码人妻系列蜜桃| 亚洲成人999| 性欧美videos高清hd4k| 国产视频999| 精品国产91| 免费无码不卡视频在线观看| 国产成人精品www牛牛影视| 很污很黄的网站| 欧美午夜精品久久久| 青青视频在线观| 97精品一区二区三区| 成人av影音| 日韩精品久久一区二区| 久久国产三级精品| 日韩欧美黄色网址| 欧美性猛片aaaaaaa做受| 牛牛热在线视频| 91av在线免费观看| 久久99精品久久久久久欧洲站| 日韩国产小视频| 国产美女视频一区| 国产一区二区视频在线观看免费| 欧美日韩激情在线| 91精品专区| 成人av色在线观看| 国产精品伦理久久久久久| 九九九九九伊人| 亚洲欧洲日韩女同| 国产精品久久无码一三区| www.99久久热国产日韩欧美.com| 久久xxx视频| 亚洲在线播放电影| 久久99精品久久久久婷婷| 国产午夜精品理论片| 伊人久久大香线蕉无限次| 欧美日韩在线观看一区| 乱人伦精品视频在线观看| 色无极影院亚洲| 欧美影视一区在线| 思思99re6国产在线播放| 91精品国产综合久久香蕉的用户体验| 91精品国产福利在线观看麻豆| 热久久久久久久久| 亚洲免费在线观看| 韩国av免费在线| 欧美亚洲日本网站| 欧美日韩性在线观看| 在线观看免费不卡av| 亚洲乱码一区二区三区在线观看| 亚洲免费黄色片| 韩国国内大量揄拍精品视频| 亚洲制服一区| 国产原创精品在线| 一区二区三区鲁丝不卡| 欧美天堂在线视频| 国产ts一区二区| 久久在线免费| 亚洲欧美日韩色| 欧美在线观看视频一区二区三区| 男人的天堂在线视频免费观看| 97人人澡人人爽| 亚洲在线观看| 女同久久另类69精品国产 | 亚洲精品成人区在线观看| 欧美一区二三区| 久久美女视频| 91丝袜在线观看| 欧美性一级生活| 男人添女人下部高潮视频在线观看| 久久九九视频| 国内精品久久久久影院一蜜桃| 国产成人亚洲精品自产在线| 中文字幕日韩综合av| 韩国女主播一区二区三区| 91国产精品视频在线观看| 亚洲一二三四区不卡|