jQuery插件 Autocomplete 不支持多中文的解決辦法

web前端開發中,涉及到選擇的時候,Autocomplete是一個相當常用的插件,但是此插件在涉及到中文的時候卻有一些bug.
當每次輸入一箇中文字的時候,這個插件工作的很好,當一次輸入多箇中文字的時候,就不能產生過濾作用。


這個問題在手機移動端顯示的尤爲明顯。即使使用 Autocomplete 的mobile版本這個問題一樣存在。


查看源碼,分析原因在於,過濾觸發的事件是 根據event.keyCode 來判斷的。但是由於中文輸入的特殊性,尤其在手機上,先拼音,然後選擇漢字,
這個漢字,選擇漢字的動作是觸發不了 鍵盤事件,更沒有 event.keyCode。
問題由此產生。


修改源碼,加入對input事件的監聽,此事件在chrome系瀏覽器和 移動端支持極好,他可以實時監聽輸入框的內容變化,而不用等到失去焦點,這點和onchange事件不一樣。


修改如下


大概就是 156行 綁定input事件 


.
bind("input",function(){
		onChange(0, true);
	})




修改後,問題解決。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章