您的位置:首页 > Web前端 > JQuery

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

2014-09-24 11:29 459 查看
web前端开发中,涉及到选择的时候,Autocomplete是一个相当常用的插件,但是此插件在涉及到中文的时候却有一些bug.

当每次输入一个中文字的时候,这个插件工作的很好,当一次输入多个中文字的时候,就不能产生过滤作用。

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

查看源码,分析原因在于,过滤触发的事件是 根据event.keyCode 来判断的。但是由于中文输入的特殊性,尤其在手机上,先拼音,然后选择汉字,

这个汉字,选择汉字的动作是触发不了 键盘事件,更没有 event.keyCode。

问题由此产生。

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

修改如下

大概就是 156行 绑定input事件

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


修改后,问题解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: