- 浏览: 1505655 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
插件地址:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
插件下载地址:http://jquery.bassistance.de/autocomplete/jquery.autocomplete.zip
jQuery.Autocomplete是jquery的流行插件,能够很好的实现输入框的自动完成(autocomplete)、建议提示(input suggest)功能,支持ajax数据加载。
但唯一遗憾的是,在对中文输入法打开时,firefox3.0中是对中文拼音的自动匹配,而对输入后的中文无法及时触发匹配;而在我的IE6.0下,则无此问题。
原因分析:
Autocomplete插件对用户输入字符的触发自动匹配是通过”keydown”事件进行的(可分析jquery.autocomplete.js 第92行),在IE6中,当输入法打开时,输入的字符是不会触发”keydown”的,只有中文输入完毕才触发之,所以中文输入和latin文没有区别的;但在firefox3.0下,无论输入法打开否,按键都会触发”keydown”事件,所以造成中文输入完毕,自动匹配的是刚才打出的部分中文拼音字母。
修改前:
$input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event)
修改后:
$input.bind(($.browser.opera ? "keypress" : "keyup") + ".autocomplete", function(event)
解决方法:
网上查到的最多做法是修改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 by liqt:support for inputing chinese characters in firefox onChange(0, true); });
添加后变为:
.bind("unautocomplete", function() { select.unbind(); $input.unbind(); $(input.form).unbind(".autocomplete").bind("input", function() { // @hack by liqt:support for inputing chinese characters in firefox onChange(0, true); }); });
- jquery-autocomplete.rar (540 KB)
- 下载次数: 1883
评论
$('#input_box').bind( "input.autocomplete", function(){
$(this).trigger('keydown.autocomplete');
});
$('#input_box').autocomplete(....); //你的代码
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete");
}).bind("input", function() {
// @hack:support for inputing chinese characters in firefox
onChange(0, true);
});
发表评论
-
Angularjs 1.x 中使用 layDate 日期控件
2017-10-18 11:30 1740本文参照Angularjs 中使用 layDate 日期控 ... -
简易向左移动的滚动效果 jquery simple marquee
2017-10-15 14:57 529<!DOCTYPE html> ... -
angualrjs添加动态指令(动态编译指令)
2017-09-26 20:45 451本文参考自后补全的代码:http://blog.csdn. ... -
CKeditor的取值和赋值
2017-07-05 14:51 1659<script type="text ... -
Spring boot 环境下配置CKEditor添加google map
2017-07-05 14:39 1217本文档基于已经搭建好基础ckeditor的环境上。如:ht ... -
javascript中借用别的类的方法
2015-12-23 21:58 432借用别的类的方法 /** * Created by ... -
Javascript的类与子类创建
2015-11-11 20:45 823声明父类与子类的示 ... -
jQuery 对 select 操作
2011-09-30 16:54 906转自:http://blog.sina.com.cn/s/bl ... -
JSON2的使用方法心得
2010-10-08 15:09 1862var myJSONObject = {"bindi ... -
json对象的应用
2010-09-07 10:37 1829JSON对象就像是PHP或Java中map型(数组) ... -
JQuery对html控件操作总结
2010-08-11 09:28 2361转自:http://www.cnblogs.com ... -
将json元素添加到表单select中
2010-08-10 15:06 1258将json元素添加到表单select中。 $.a ... -
js加密解密
2010-02-10 16:04 1142JavaScript Code Obfuscator ... -
设为首页JS,加入收藏夹js,加入收藏夹代码,设为首页代码,火狐和ie兼容
2010-01-25 23:10 3753<!DOCTYPE html PUBLIC " ... -
精通 JS正则表达式
2009-11-23 09:36 1034转自:http://www.iteye.com/topic/4 ... -
强烈推荐:240多个jQuery插件
2009-11-08 21:26 1227概述 jQuery 是继 prototype 之后又一个优秀 ... -
jQuery中this与$(this)的区别
2009-11-04 16:28 2423$("#textbox").hover( ... -
JS获得鼠标位置(兼容多浏览器ie,firefox)
2009-10-31 18:57 3751<!DOCTYPE html PUBLIC " ... -
javascript 计算文字长度
2009-10-15 17:52 1672/** * 把中文字符替换两个星号,可以用来计算中文字符串的 ... -
JavaScript判断浏览器类型及版本
2009-10-09 10:50 2931你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firef ...
相关推荐
。
。
jQuery.autocomplete 是jquery的流行插件,,能够很好的实现输入框的自动完成(autocomplete)、建议提示(input suggest)功能,支持ajax数据加载。
基于.net和Jquery.autocomplete插件 做的智能匹配下拉框,可选择可输入,采用json数据格式,支持汉字、拼音和拼音首字母进行智能匹配。 使用说明: 1、如果想不做任何修改直接看效果,请在本地创建一张名为tb_Manage...
jQuery.Autocomplete 是jquery的流行插件,能够很好的实现输入框的自动完成(autocomplete)、建议提示(input suggest)功能,支持ajax数据加载。
jquery.AutoComplete.js中文修正版(支持firefox),注意是修正了输入中文的一些bug,需要的朋友可以测试下。
autoComplete 自动补全 支持中文补全 中间字查询
autocomplete自己运用到了,自己根据网上资源,总结了一下。支持中文。
jqueryd的autoComplete插件,输入自动补全 支持中文补全
jquery autocomplete.js 是一款优秀的开源JS,支持自动完成,不过如果是中文失效。原因是由于中文编码不一致引起的,修改源文件中AJAX请求中的编码,加上escape编码后,在后台用Server.URLDecode解码后,则中文也...
jquery+json自动完成完整实例(修改版) 兼容各大浏览器,支持中文
jquery autocomplete 动态补全例子支持中文 ajax传递json数据 文件里有json数据拼接
NULL 博文链接:https://axl234.iteye.com/blog/1673411
2、下载jquery autocomplete插件或者直接使用我附件里提供的文件,自己下载下来的文件需要修改一些内容才能支持向上/向下选择文字、解决中文乱码,其中解决中文乱的问题网上有提到过,就是把文件中的encodeURI改成...
jquery搜索自动提示下拉框插件autocomplete-有我自己做的例子-支持中文
jQuery ui autocomplete 组件扩展代码利用 String.prototype.localeCompare 来取汉字的声母。如果浏览器不支持此API,可以在source中传一个sm来指定声母。##可选扩展中文不合适把source的value作为展示结果。这里...
jquery-easyui的combobox火狐下不支持中文匹配,修改了一下,增加了input事件监听,现已支持火狐下中文