1

我有一个带有 jQ​​uery UI 自动完成功能的文本字段。我希望用户输入一些内容,让自动完成来显示选项,然后当用户单击一个选项时,我希望它触发模糊/聚焦,以表明用户已经选择了一个值。

不幸的是,当单击自动完成选项时,jQuery UI 似乎将焦点保持在文本字段上。

有想法该怎么解决这个吗?

4

2 回答 2

3

您可以使用close自动完成字段的事件。

快速参考:

隐藏菜单时触发。并非每个关闭事件都会伴随着更改事件。

代码:

$("#tags").autocomplete({
    source: availableTags,
    close: function(){
        this.blur();
    }
});

演示:http: //jsfiddle.net/IrvinDominin/T2WRc/

于 2013-08-21T13:58:25.287 回答
0

Irvin 的回答帮助我弄清楚了如何解决这个问题,但是使用 close 函数可能会产生不好的副作用。如果自动填充在开始显示结果后停止显示结果,则触发关闭功能,因此在这种情况下,在选择任何内容之前也会触发模糊。

相反,只需添加“this.blur();” 在您选择要返回的内容后添加到 select 函数中(或者如果您使用默认选择,则只需将其添加)。

使用他的代码示例:

$("#tags").autocomplete({
    source: availableTags,
    select: function(){
        this.blur();
    }
});
于 2020-10-06T18:40:15.773 回答