Jquery ui autocomplete绑定新的空间事件

时间:2014-06-03 12:50:24

标签: jquery jquery-ui jquery-ui-autocomplete

我希望jquery自动完成选择列表中的第一项,然后在空格中选择该项而不是输入或单击。我应该将代码附加到jquery ui java脚本文件,还是有办法为空间添加另一个事件。

先谢谢你 马修

1 个答案:

答案 0 :(得分:0)

你必须更改组件的代码ui.autocomplete(不推荐,你创建一个新的更好),你必须改变" keyCode.ENTER" to" keyCode.SPACE"在以下行中:

case keyCode.ENTER:
                    // when menu is open and has focus
                    if ( this.menu.active ) {
                        // #6055 - Opera still allows the keypress to occur
                        // which causes forms to submit
                        suppressKeyPress = true;
                        event.preventDefault();
                        this.menu.select( event );
                    }
                    break;

如果你想要两个键(输入和空格)都有效,你只需要写:

case keyCode.SPACE:
case keyCode.ENTER:

要选择第一个元素,您只需添加"自动对焦:true":

$( "#autocomplete" ).autocomplete({autoFocus: true,
  source: whatever
});

在这里你可以看到它正在运行:

http://jsfiddle.net/et86N/4/

这里有一个我创建一个名为" ui.autocompletespace"的新组件的版本,它依赖于jqueryui:

http://jsfiddle.net/52Csh/1/

有关此组件的更多信息:

http://api.jqueryui.com/autocomplete/