【问题标题】:How can I focus on a selectize select box?如何专注于选择选择框?
【发布时间】:2015-02-18 09:43:29
【问题描述】:

关注一个选择框(启用了选择)不会关注选中的输入框:

$('.someclass select').focus();

专注于选择自己的输入框似乎也不起作用:

$('.someclass input').focus();

Selectize docs 提到了focus,但这似乎也不起作用。看到这个jsfiddle

var selectized = $('#selectize').selectize();
selectized.focus();

我希望克拉| 准备好并立即输入框。

如何从 JavaScript 中专注于选择框,以便用户可以输入?

【问题讨论】:

    标签: javascript jquery selectize.js


    【解决方案1】:

    似乎可行的一种方法是调用click() 而不是focus()

    $('.someclass input').click();
    

    【讨论】:

      【解决方案2】:

      你应该使用:

      selectized[0].selectize.focus();
      

      【讨论】:

      • 这对我有用,接受的答案中的 .click() 没有。
      • @mike-c 这是 Selectize API 中提供的选项。但是,您如何访问这些方法有点令人困惑。 github.com/selectize/selectize.js/blob/master/docs/…
      • 我已经改变了这个答案,因为这是根据选择作者做事的正确方法,正如你提到的,
      【解决方案3】:

      $('.someclass input') 返回一个 jquery 对象(包装集 - 参见What does jquery $ actually return?)。您不想要包装的集合,您想要集合中与选择器匹配的第一个元素。

      改用$('.someclass input')[0].selectize.focus();

      【讨论】:

        【解决方案4】:

        对我来说,$('.someclass input').focus() 完成了这项工作。首先选择您的选择元素$('.someclass'),然后选择仅选择该元素的输入$('.someclass input'),最后触发元素上的focus() 函数。

        【讨论】:

          【解决方案5】:

          我找到了一个简单的方法:

          $("#selectid-selectized").focus(
            function () { 
              $("#selectid")[0].selectize.clear(); 
          })
          

          【讨论】:

          • 马修,你能解释一下你的答案,并通过分叉问题 JS fiddle 来证明它。例如,为什么该回调会使其工作?
          猜你喜欢
          • 1970-01-01
          • 2017-06-13
          • 2012-07-20
          • 2015-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多