如何在Bootstrap 3中选择后模糊Selectize.js输入?

时间:2014-03-06 15:33:41

标签: javascript jquery html plugins

我正在使用Selectize.js。从文档中我可以在这里设置一个'onDropdownClose'回调:Selectize docs。我似乎无法让它发挥作用。

使用Selectize.js进行选择后,如何模糊(散焦)输入?以下代码中的所有模糊都不起作用。

$(document).ready(function() {
    $("#myinput").selectize({
    onDropdownClose : function ($dropdown) {
                       $($dropdown).prev().find('input').blur();
                      }
    });
});

编辑: 我正在使用Bootstrap 3.1.1。我刚刚注意到Bootstrap 2的默认行为是在选择完成后模糊输入,而Bootstrap 3+在选择完成后使输入保持焦点。我的问题仍然代表Bootstrap 3 +

编辑: 我让它使用上面的代码。

5 个答案:

答案 0 :(得分:5)

添加此项只是为了得到一个实际答案。您的解决方案有效。

$("#myinput").selectize({
  onDropdownClose: function(dropdown) {
    $(dropdown).prev().find('input').blur();
  });
});

答案 1 :(得分:2)

我遇到了类似的问题并使用以下方法解决了这个问题:

$('#myinput').selectize({
    onItemAdd: function () {
        this.blur();
    }
}

答案 2 :(得分:2)

此外,您可以像这样访问输入字段:

$("#myinput").selectize({
    onDropdownClose: function(dropdown) {
        this.$control_input.blur();
    }
});

答案 3 :(得分:0)

自0.12.0以来已添加

closeAfterSelect选项。

https://github.com/brianreavis/selectize.js/blob/v0.12.0/docs/usage.md#options

答案 4 :(得分:0)

接受(死亡)答案很好,但在这种情况下: 打开菜单,然后单击返回输入元素将其关闭。在这种情况下,dropdownmenu会再次打开。 我用过这个变种。我知道,这是一个丑陋的解决方案,但在这种情况下效果更好。你可以改变时间延迟以适应你的情况,这对我来说很好。

        onDropdownClose: function (dropdown) {
            var self = this;
            setTimeout(function() {
                self.$control_input.blur();
            }, 250);
        }