原文:http://blog.sina.com.cn/s/blog_6ebc885a01013faj.html
jQuery.Autocomplete
是jquery的流行插件,能够很好的实现输入框的自动完成(autocomplete)、建议提示(input
suggest)功能,支持ajax数据加载。
但唯一遗憾的是,在对中文输入法打开时,firefox3.0中是对中文拼音的自动匹配,而对输入后的中文无法及时触发匹配;
原因分析
:
Autocomplete
插件对用户输入字符的触发自动匹配是通过”keydown”事件进行的(可分析jquery.autocomplete.js第
92行),在IE6中,当输入法打开时,输入的字符是不会触发”keydown”的,只有中文输入完毕才触发之,所以中文输入和latin文没有区别的;
但在firefox3.0下,无论输入法打开否,按键都会触发”keydown”事件,所以造成中文输入完毕,自动匹配的是刚才打出的部分中文拼音字母。
------所以只有Firefox有问题。
解决方法
:
网上查到的最多做法是修改 jquery.autocomplete.js第
92行,将”keydown”替换为”keyup”,但这个不是根本办法,虽然这样改后可在firefox中及时对输入的中文进行自动匹配,但将原插件中
回车、tab等重要的事件机制破坏了,比如这样改后,如果你的input是在一个form里的话,回车从原来的将选定项输入到input中变为了直接提交
form表单了,这并不是我们想要的。
我的解决方法如下:
}).bind("flushCache", function() {
cache.flush();
}).bind("setOptions", function() {
$.extend(options, arguments[1]);
// if we've updated the data, repopulate
if ( "data" in arguments[1] )
cache.populate();
}).bind("input",
function() {
onChange(0,true);
}).bind("unautocomplete", function() {
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete");
如果你在reult时间中绑定了事件,又希望复制过来的内容也能够触发你的事件,可以加上如下的代码,这样就能保证用户不单击选项也能触发你的result事件。
}).bind("input", function() {
onChange(0,true);
}).bind("unautocomplete", function() {
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete");
}).bind("change",
function() {
$input.search(
function (result){
$input.trigger("result", result
&& [result.data,
result.value]);
}
);
});
分享到:
相关推荐
jquery autocomplete.js 是一款优秀的开源JS,支持自动完成,不过如果是中文失效。原因是由于中文编码不一致引起的,修改源文件中AJAX请求中的编码,加上escape编码后,在后台用Server.URLDecode解码后,则中文也...
NULL 博文链接:https://axl234.iteye.com/blog/1673411
在原有基础上修改了 jquery autocomplete 插件 支持键盘上下键选择
jquery autocomplete下载.rar
jquery-autocomplete搜索框自动完成的中文文档,上手快,轻便,功能强大
Jquery AutoComplete
jquery autocomplete 动态补全例子支持中文 ajax传递json数据 文件里有json数据拼接
JQuery autocomplete ajax分页,对源码稍微修改了下
jquery.autocomplete.js 、jquery.autocomplete.css
在输入页面利用JQuery获取用户输入,然后通过AJAX异步发送到处理页面,处理页面接收到值后进行模糊匹配查询,然后将结果返回,输入页收到返回的数据后在处理,并生成相应的页面显示在页面上。若是jquery ...
jquery-autocomplete 可用
Jquery autocomplete插件使用
jQuery Autocomplete,百度搜索框提示效果。
jquery autocomplete 所需js文件及样式。 实现仿百度输入查询下拉功能。
jQuery plugin: Autocomplete 参数及实例 官网:jQuery plugin: Autocomplete 此插件依赖于 jquery 1.2.6 --- jquery 1.8.3 转自:http://www.cnblogs.com/duanhuajian/p/3398904.html
使用Jquery AutoComplete 插件来做自动填充功能,包含本地数组,后台数据等情况
jquery自动补全插件(jquery autocomplete) 内包含使用说明,前台+后台
jQuery.Autocomplete 是jquery的流行插件,能够很好的实现输入框的自动完成(autocomplete)、建议提示(input suggest)功能,支持ajax数据加载。
jQuery UI Autocomplete 1.8.16 中文输入修正代码,使用jQuery UI Autocomplete的朋友可以参考下
jquery+json自动完成完整实例(修改版) 兼容各大浏览器,支持中文