2014-03-06 38 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); 
     } 
相關問題