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

web前端开发中,涉及到选择的时候,Autocomplete是一个相当常用的插件,但是此插件在涉及到中文的时候却有一些bug.

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

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

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

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

问题由此产生。

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

修改如下

大概就是 156行 绑定input事件

.

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

修改后,问题解决。

时间: 2024-08-28 23:56:37

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

jQuery 插件autocomplete

jQuery 插件autocomplete 应用 项目中有时会用到自动补全查询,就像Google搜索框.淘宝商品搜索功能,输入汉字或字母,则以该汉字或字母开头的相关条目会显示出来供用户选择, autocomplete插件就是完成这样的功能. autocomplete官网 : http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ (可下载jQuery autocomplete插件). 淘宝商品搜索功能 效果: 下面来使用

mysql like 匹配查询出不正确中文的解决办法

本文讲述mysql使用like语句时,匹配查询出不正确中文的解决办法 mysql like 搜索的时候发现,用 select title from tb_name where title like '%a%' 的时候出来的结果除了包含a的名字外连包含中文“新”的名字也出现在搜索结果里面,这令我想弄清楚mysql的匹配模式和规则到底是怎么样的,另外在匹配的时候正则表达式也很常用! 出现这个问题的原因是:MySQL在查询字符串时是大小写不敏感的,在编绎MySQL时一般以ISO-8859字符集作为默认

【转】sublime text 2 中文乱码解决办法

sublime text 2是一款非常优秀的跨平台文本及源代码编辑器,本人非常喜欢,但是不支持GB2312和GBK编码在某些时候比较麻烦.可以通过向sublime text 中添加编码类型转换包(比如“ConvertToUTF8")来解决这一问题.具体方法如下: 首先声明:这一方法前提是sublime text 2的安装路径没有中文字符,且系统路径的%username%中不包含中文字符.否则需要手动添加转换包,这个稍后说明. 1. 安装Sublime Package Control: 在Subl

PHP中文乱码解决办法

一.         首先是PHP网页的编码 1.     php文件本身的编码与网页的编码应匹配 a.     如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANS

navicat for mysql 显示中文乱码解决办法

navicat for mysql 显示中文乱码解决办法   最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题就的寻求解决之道,百度了好长时间也没解决,网上那些解决办法都不 适合我的问题,网上的大多数解决方法是在navicat里右击一个连接,选择连接属性,切换到高级选项卡,去掉“使用mysql字符集”前的对勾,在编码 里选择utf-8,这种方法对于部分问题可能适合,但是我的乱码问题依然存在,于是乎我又将ut

QQ打不出中文的解决办法

先把语言栏关了,再开始---运行,运行ctfmon就好了QQ打不出中文的解决办法

PHP Json函数不能处理中文的解决办法

PHP5.2 新增的 json 功能是非常受欢迎的,但是经过测试发现,json_encode对中文的处理是有问题的:    不能处理GB编码,所有的GB编码都会替换成空字符:    utf8编码的中文被编码成unicode编码,相当于javascript的escape函数处理的结果.    为了能正确使用json,首先我们就应该在编码上采用utf8编码,然后再对json_encode的返回结果稍加处理就可以得到正确的结果了.?1. [代码]php代码    <?php/*PHP5.2 新增的 j

Oracle导入中文乱码解决办法

Oracle导入中文乱码解决办法 一.确保各个客户端字符集的编码同服务器字符集编码一致 1-       确定sqlplus字符集编码,如果是windows设置环境变量. 2-       确保SecureCRT客户端的字符集为简体中文即可,不要设置为UTF-8,否则在连接oralce数据库时,中文都显示乱码,以免产生不必要的麻烦. 二.设置带中文的sql脚本的字符集

WCF不支持 ASP.NET 兼容性 解决办法

错 误提示:无法激活服务,因为它不支持 ASP.NET 兼容性.已为此应用程序启用了 ASP.NET 兼容性.请在 web.config 中关闭 ASP.NET 兼容性模式或将 AspNetCompatibilityRequirements 属性添加到服务类型且同时将 RequirementsMode 设置为“Allowed”或“Required”. 解决办法: 修改相应   服务.svc.cs using System.ServiceModel.Activation ; [AspNetComp