Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery UI自动完成:是否禁用选项卡完成?_Javascript_Jquery_Jquery Ui_Jquery Ui Autocomplete - Fatal编程技术网

Javascript jQuery UI自动完成:是否禁用选项卡完成?

Javascript jQuery UI自动完成:是否禁用选项卡完成?,javascript,jquery,jquery-ui,jquery-ui-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Ui Autocomplete,如何禁用使用Tab键选择当前/突出显示的项目?我只想按Enter键填充。Tab并不是真正选择当前项目,而是将光标移动到下一个可使用Tab键的项目。因此,您需要做的是禁用自动完成选项卡: select: function(e, ui) { if(e.keyCode === 9) return false; // other code... } 像这样的东西对我有用,你可能需要再修改一些 基本上,在将keydown事件传递给autocomplete keydown处理程序之前捕


如何禁用使用Tab键选择当前/突出显示的项目?我只想按Enter键填充。

Tab并不是真正选择当前项目,而是将光标移动到下一个可使用Tab键的项目。因此,您需要做的是禁用自动完成选项卡:

select: function(e, ui) {
    if(e.keyCode === 9) return false;
    // other code...
}

像这样的东西对我有用,你可能需要再修改一些


基本上,在将keydown事件传递给autocomplete keydown处理程序之前捕获它。捕获它时,您可以做任何您想做的事情(传递或不传递)。

在jquery ui中使用.autocomplete()修饰符时,它会将输入文本框的按键处理程序设置为如下所示。self.menu.select将文本框设置为自动完成列表中当前突出显示的值

.bind( "keydown.autocomplete", function( event ) {
...
switch( event.keyCode ) {
...
case keyCode.TAB:
    if ( !self.menu.active ) {
       return;
    }
    self.menu.select( event );
    break;
...
    }
}
因此,您需要做的是确保不会调用此处理程序。我可以通过向keypress添加一个处理程序来实现这一点,如果keypress是TAB,则该处理程序将返回false

将取消置于
按键
事件中对我不起作用,但我们可以将其置于自动完成的
选择
选项中:

select: function(e, ui) {
    if(e.keyCode === 9) return false;
    // other code...
}

忘了在JSFIDLE中包含jquery ui。我做了,但它对我不起作用。我只是更新了链接。现在它应该指向一个包含jQueryUI库的jsfissle。而且,你的提琴和你在回答中写的完全不一致(你这个不受约束的模糊分子)。显然我正在和提琴链接作斗争。。。让我试着想一想好吗。。。我修复了链接,我做了它,所以弹出窗口不会停留。我很确定它现在有你想要的行为。这听起来不对。如果是模糊事件触发了选择事件(通过tab聚焦下一个元素),那么当我单击另一个元素时,它也会触发,但这不会发生。另外,在你的小提琴中,你阻止我切换到下一个元素,这与我想要的正好相反。我希望能够在不触发选择的情况下切换到下一个输入。