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

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

但唯一遺憾的是,在對中文輸入法打開時,firefox3.0中是對中文拼音的自動匹配,而對輸入后的中文無法及時觸發匹配;而在我的IE6.0下,則無此問題。
原因分析:
Autocomplete插件對用戶輸入字符的觸發自動匹配是通過”keydown”事件進行的(可分析jquery.autocomplete.js第 92行),在IE6中,當輸入法打開時,輸入的字符是不會觸發”keydown”的,只有中文輸入完畢才觸發之,所以中文輸入和latin文沒有區別的;但在firefox3.0下,無論輸入法打開否,按鍵都會觸發”keydown”事件,所以造成中文輸入完畢,自動匹配的是剛才打出的部分中文拼音字母。 ------所以只有Firefox有問題。
解決方法:
網上查到的最多做法是修改jquery.autocomplete.js第92行,將”keydown”替換為”keyup”,但這個不是根本辦法,雖然這樣改后可在firefox中及時對輸入的中文進行自動匹配,但將原插件中回車、tab等重要的事件機制破壞了,比如這樣改后,如果你的input是在一個form里的話,回車從原來的將選定項輸入到input中變為了直接提交form表單了,這并不是我們想要的。
我的方法原理是,補充一個原插件觸發查詢的事件,就是當input輸入欄發生字符變化時,重新進行查詢(調用其內部的onChange函數),這里主要針對firefox而言,因為我們的系統訪問最多的是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技術修改jQuery.Autocomplete插件 支持中文輸入法 避免TAB、ENTER鍵失效、導致表單提交,轉載需保留來源!

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

主站蜘蛛池模板: 亚洲欧美中文字幕网站大全 | 伊人久久大香线蕉观看 | 青娱乐在线一区 | 久久www免费人成高清 | 久久re这里视频精品15 | 超级最爽的乱淫片免费 | 琪琪午夜福利免费院 | 国内精品偷拍在线观看 | 最近免费中文字幕MV在线视频3 | 天龙八部慕容属性加点 | 国产亚洲精品久久久久久线投注 | 九九在线中文字幕无码 | 超碰97 总站 中文字幕 | 精品久久99麻豆蜜桃666 | 中文字幕伊人香蕉在线 | 99久久无码一区人妻A片蜜 | 十分钟免费视频大全在线 | 国产二级一片内射视频播放 | 国产无遮挡又黄又爽在线视频 | 国产美熟女乱又伦AV | 亚洲精品电影久久久影院 | 日日踫夜夜爽无码久久 | 久久青青无码AV亚洲黑人 | 蜜桃麻豆WWW久久囤产精品免费 | 免费在线视频a | 小sao货水好多真紧h的视频 | 欧美性猛交XXXX乱大交极品 | 午夜爱情动作片P | 国产成人精品免费视频下载 | 大迪克黑人异族 | 在线日本v二区不卡 | 综合网伊人 | 久久这里的只有是精品23 | 久久午夜一区二区 | 色姐妹久久综合在线av | 嗯啊插的好深啊使劲抽视频 | 中文字幕偷乱免费视频在线 | 亚洲人精品午夜射精日韩 | 久久re这里视频精品15 | 青青青伊人 | 国内视频在线精品一区 |