我有一个带有 jQuery UI 自动完成功能的文本字段。我希望用户输入一些内容,让自动完成来显示选项,然后当用户单击一个选项时,我希望它触发模糊/聚焦,以表明用户已经选择了一个值。
不幸的是,当单击自动完成选项时,jQuery UI 似乎将焦点保持在文本字段上。
有想法该怎么解决这个吗?
我有一个带有 jQuery UI 自动完成功能的文本字段。我希望用户输入一些内容,让自动完成来显示选项,然后当用户单击一个选项时,我希望它触发模糊/聚焦,以表明用户已经选择了一个值。
不幸的是,当单击自动完成选项时,jQuery UI 似乎将焦点保持在文本字段上。
有想法该怎么解决这个吗?
您可以使用close
自动完成字段的事件。
快速参考:
隐藏菜单时触发。并非每个关闭事件都会伴随着更改事件。
代码:
$("#tags").autocomplete({
source: availableTags,
close: function(){
this.blur();
}
});
演示:http: //jsfiddle.net/IrvinDominin/T2WRc/
Irvin 的回答帮助我弄清楚了如何解决这个问题,但是使用 close 函数可能会产生不好的副作用。如果自动填充在开始显示结果后停止显示结果,则触发关闭功能,因此在这种情况下,在选择任何内容之前也会触发模糊。
相反,只需添加“this.blur();” 在您选择要返回的内容后添加到 select 函数中(或者如果您使用默认选择,则只需将其添加)。
使用他的代码示例:
$("#tags").autocomplete({
source: availableTags,
select: function(){
this.blur();
}
});