jQuery插件 Autocomplete 不支持多中文的解决办法

web前端开发中,涉及到选择的时候,Autocomplete是一个相当常用的插件,但是此插件在涉及到中文的时候却有一些bug.
当每次输入一个中文字的时候,这个插件工作的很好,当一次输入多个中文字的时候,就不能产生过滤作用。


这个问题在手机移动端显示的尤为明显。即使使用 Autocomplete 的mobile版本这个问题一样存在。


查看源码,分析原因在于,过滤触发的事件是 根据event.keyCode 来判断的。但是由于中文输入的特殊性,尤其在手机上,先拼音,然后选择汉字,
这个汉字,选择汉字的动作是触发不了 键盘事件,更没有 event.keyCode。
问题由此产生。


修改源码,加入对input事件的监听,此事件在chrome系浏览器和 移动端支持极好,他可以实时监听输入框的内容变化,而不用等到失去焦点,这点和onchange事件不一样。


修改如下


大概就是 156行 绑定input事件 


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




修改后,问题解决。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。