jQuery UI Autocomplete自动聚焦未生效

8

我正在使用jQuery UI的自动完成功能,并尝试实现autoFocus选项。

文档说明如下: 如果设置为true,则第一项将自动聚焦。

我创建了一个基本示例,但无法正常工作。我必须漏掉了一些明显的东西。这里可以看到:http://jsfiddle.net/9bQJX/

$("#autocomplete").autocomplete({
    source: [
        "ActionScript",
        "AppleScript",
        "Asp",
        "BASIC",
        "C",
        "C++",
        "Clojure",
        "COBOL",
        "ColdFusion",
        "Erlang",
        "Fortran",
        "Groovy",
        "Haskell",
        "Java",
        "JavaScript",
        "Lisp",
        "Perl",
        "PHP",
        "Python",
        "Ruby",
        "Scala",
        "Scheme"
    ],
    autoFocus: true
});

你遇到了错误吗?哪里出了问题? - jrummell
它没有自动对列表中的第一项进行聚焦。根据 autoFocus 的说明,它应该这样做。 - Nicolo77
很遗憾,我并没有发现你的代码以及使用autoFocus属性方面有任何问题。我甚至无法使他们自己的演示与此配合使用......你最好的选择是使用我的答案并在加载时将焦点设置在要聚焦的元素上。实际上,这样做所需键入的字符更少,所以你不会失去任何东西。 - Jeff Wilbert
这是在fiddle中的相同代码: http://jsfiddle.net/B5XkY/8/ - coder
3个回答

6
您正在使用旧版的jQueryUI(1.8.9)。该选项适用于1.8.16版本。事实上,根据更改日志autoFocus选项是在1.8.11中添加的,因此您可以使用任何大于或等于1.8.11的版本。
请参考使用1.8.16更新的示例:http://jsfiddle.net/Bqujj/

@elvenbyte:这是一个使用最新版本的示例:http://jsfiddle.net/Bqujj/60/ - Andrew Whitaker
我会在我的代码问题中提出自己的问题,以免过多地填充此线程。非常感谢。 - elvenbyte
当使用安卓设备和Chrome浏览器时,如果autoFocus元素不是表单中的最后一个元素,则此方法无效。例如:http://jsfiddle.net/Bqujj/221/。有什么建议吗? - theyuv

0
打开Jquery-ui.js文件并搜索“autocomplete”。 将“autoFocus”更改为“true”。 例如。
$.widget ( "ui.autocomplete", {
   version: "1.12.1",
   ...
   ...
   options: {
      ...
      ...
      autoFocus: true,
      ...
      ...

配置截图


-1

在源选项之前保留autoFocus = true,例如如下。

$("#autocomplete").autocomplete({
    **autoFocus : true,**
    source: [
        "ActionScript",
        "AppleScript"
    ]
})

5
这将完全没有任何区别。 - Andrew Whitaker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接