我正在使用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 +
编辑: 我让它使用上面的代码。
答案 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)
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);
}