jquery的autocomplete插件,在firefox下使用中文输入法的时候不能正常工作。现
象就是输入中文后不能自动提示,但是按一下键盘的方向键(左或右之类的),就能触
发自动提示的事件。后来在网上找到了解决方案:
http://hi.baidu.com/hy0kl/blog/item/8ea300c7ff33cad1d10060ec.html
就是在jquery.autocomplete.js源代码里面加几行
.bind("input", function() {
// @hack by liqt:support for inputing chinese characters in
firefox
onChange(0, true);
});
我照这个方法修改之后,firefox下输入中文确实可以自动提示了,但是修改又引出另
外一个问题就是 autoFill这个配置项不能设置成true了。
举个例子说明一下,比如我有一个文本框能根据用户输入自动匹配语言名称,
$("#language").autocomplete(
'language.php',
{
delay:500,
minChars:1,
matchSubset:0,
matchContains:1,
scroll:false,
extraParams:{},
cacheLength:10,
autoFill:true
});
我输入'P',那么能自动提示出
Perl
PHP
Python
并且由于autoFill设置为true,程序能自动为文本框填充为"Perl",同
时"Perl","PHP","Python"三个候选项会一直显示着。
在我修改jquery.autocomplete.js源代码之后,我再到文本框里输入'P'
首先自动提示出
Perl
PHP
Python
然后文本框自动填充为"Perl",接下来程序候选项里面的"PHP"和"Python"就消失
了。
相当于是程序把自动填充的"Perl"认为是我手动输入的,再"Perl"当前缀又去请求了
一次"language.php".这不是我想要的效果。
有人知道怎么解决这个问题吗?不胜感激啊~~~
--
修改:closer2me FROM 61.135.165.*
FROM 61.135.165.*