我发现firefox下jquery.ui.autocomplete.js的一个bug.在FF下用autocomplete的时候,输入中文时,只有输入第一个字母后能触发搜索功能,其他的就不行。比如我想输入“程”字,当我输入"c"的时候,onkeydown被触发了,我继续输入heng,就不会触发onkeydown了(仅FF下),最后按下空格选字也不会触发。(可是很明显,我们的需求是要求每次输完字按下空格后触发搜索啊)autocomplete(最新版,这是地址http://jqueryui.com/demos/autocomplete/)不知道应该如果改写这个JS让它在FF下支持中文。。非常感谢!

解决方案 »

  1.   

    .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了