日期:2014-05-16  浏览次数:20321 次

jQuery ui autocomplete中文输入的问题
我发现firefox下jquery.ui.autocomplete.js的一个bug.在FF下用autocomplete的时候,输入中文时,只有输入第一个字母后能触发搜索功能,其他的就不行。

比如我想输入“程”字,当我输入"c"的时候,onkeydown被触发了,我继续输入heng,就不会触发onkeydown了(仅FF下),最后按下空格选字也不会触发。(可是很明显,我们的需求是要求每次输完字按下空格后触发搜索啊)

autocomplete(最新版,这是地址http://jqueryui.com/demos/autocomplete/)

不知道应该如果改写这个JS让它在FF下支持中文。。

非常感谢!

------解决方案--------------------
.bind( "input.autocomplete", function( event ) {
if ( suppressKeyPress ) {
suppressKeyPress = false;
event.preventDefault();
}
clearTimeout( self.searching );
self.searching = setTimeout(function() {
// only search if the value has changed
if ( self.term != self.element.val() ) {
// console.log("self.term="+self.term+" self.element.val="+self.element.val());
self.selectedItem = null;
self.search( null, event );
}
}, self.options.delay );
})

重新绑定下input事件,就ok了