天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

修改jQuery.Autocomplete插件 支持中文輸入法 避免TAB、ENTER鍵失效、導致表單提交

但唯一遺憾的是,在對中文輸入法打開時,firefox3.0中是對中文拼音的自動匹配,而對輸入后的中文無法及時觸發(fā)匹配;而在我的IE6.0下,則無此問題。
原因分析:
Autocomplete插件對用戶輸入字符的觸發(fā)自動匹配是通過”keydown”事件進行的(可分析jquery.autocomplete.js第 92行),在IE6中,當輸入法打開時,輸入的字符是不會觸發(fā)”keydown”的,只有中文輸入完畢才觸發(fā)之,所以中文輸入和latin文沒有區(qū)別的;但在firefox3.0下,無論輸入法打開否,按鍵都會觸發(fā)”keydown”事件,所以造成中文輸入完畢,自動匹配的是剛才打出的部分中文拼音字母。 ------所以只有Firefox有問題。
解決方法:
網(wǎng)上查到的最多做法是修改jquery.autocomplete.js第92行,將”keydown”替換為”keyup”,但這個不是根本辦法,雖然這樣改后可在firefox中及時對輸入的中文進行自動匹配,但將原插件中回車、tab等重要的事件機制破壞了,比如這樣改后,如果你的input是在一個form里的話,回車從原來的將選定項輸入到input中變?yōu)榱酥苯犹峤籪orm表單了,這并不是我們想要的。
我的方法原理是,補充一個原插件觸發(fā)查詢的事件,就是當input輸入欄發(fā)生字符變化時,重新進行查詢(調(diào)用其內(nèi)部的onChange函數(shù)),這里主要針對firefox而言,因為我們的系統(tǒng)訪問最多的是IE和firefox。而恰好firefox有一個input變化的事件就是oninput,那么我們只要在原jquery.autocomplete.js第199行,插入如下代碼:
復制代碼 代碼如下:
.bind("input", function() {
// @hack:support for inputing chinese characters in firefox
onChange(0, true);
});

插入后,代碼大概如下:
復制代碼 代碼如下:
...
...
jQueryinput.unbind();
jQuery(input.form).unbind(".autocomplete");
}).bind("input", function() {
// @hack:support for inputing chinese characters in firefox
onChange(0, true);
});
...

JavaScript技術(shù)修改jQuery.Autocomplete插件 支持中文輸入法 避免TAB、ENTER鍵失效、導致表單提交,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 久久免费精品国产72精品剧情 | 国产精品色欲AV亚洲三区软件 | 麻豆AV无码精品一区二区 | 九色91精品国产网站 | 父亲在线日本综艺免费观看全集 | 中文字幕偷乱免费视频在线 | 亚洲地址一地址二地址三 | 内射气质御姐视频在线播放 | 成人国产在线不卡视频 | 国内精品乱码卡一卡2卡三卡新区 | 久草在线在线精品观看99 | 久久青草影院 | 老司机午夜影院味味 | 日本人bbwbbwbbwbbw| 亚洲视频在线观 | 国产伦精品一区二区三区精品 | 婷婷射精AV这里只有精品 | 久久精品天天爽夜夜爽 | 国产成人精品免费视频大 | 欧美狂野乱码一二三四区 | 被六个男人躁到一夜同性 | 农村脱精光一级 | 日韩中文网 | 日本无修肉动漫在线观看 | 亚洲精品一线二线三线无人区 | 国产性色AV内射白浆肛交后入 | 国产 亚洲 中文在线 字幕 | 肉肉描写很细致的黄文 | 福利一区国产 | 这里只有精品在线视频 | 日本久久高清视频 | japansemature护士 JAPANRCEP老熟妇乱子伦视频 | 小便japanesewctv | 成熟YIN荡美妞A片视频麻豆 | 人妻熟妇乱又伦精品视频中文字幕 | 一个人日本的视频免费完整版 | 欧美一夜爽爽爽爽爽爽 | 日本人添下面的全过程 | 麻豆沈芯语 | 人妻兽虐曲 | 一级毛片西西人体44rt高清 |