2014-03-06 36 views
3

我正在使用Selectize.js。从文档说,我可以在这里设置'onDropdownClose'回调:Selectize docs。我似乎无法得到它的工作。如何在Bootstrap 3中选择之后模糊Selectize.js输入?

使用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+

编辑: 我知道它与上述代码一起工作。

+0

你无法做到: '$ dropdown.blur();' – Esteban

回答

4

添加此仅仅是为了有一个实际的答案。你的解决方案有效

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

我也有类似的问题,用解决它:

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

此外,您可以访问输入字段是这样的:因为0.12.0

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

接受(deadwards)的答案是好的,但在这样的情况: 你打开菜单,并通过单击后面的输入元素上关闭它。在这种情况下,下拉菜单会再次打开。 我使用了这个变种。我知道,这是一个丑陋的解决方案,但在这种情况下效果更好。你可以改变时间延迟以适应你的情况,这对我来说很好。

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