选择后jQuery UI自动完成禁用导致第一个输入无法在Chrome中工作

时间:2011-12-01 17:25:59

标签: jquery jquery-ui jquery-ui-autocomplete

我正在构建一个类似于twitter的复杂文本区域自动完成功能,包括在选择后禁用自动完成功能,并在用户键入特殊字符时再次启用自动完成功能。

我发现了firefox中不存在chrome和IE的错误。

在Chrome上通过输入选择项目并禁用textarea上的自动完成后,将忽略第一个键盘输入。例如,选择自动完成选项,然后点击空格。空间被忽略了。再次点击它,它的工作原理。

第一个空格在firefox中不会被忽略,但它在chrome中。

以下是我在http://jsfiddle.net/H4ayD/上设置的一个简单示例,用于说明问题。

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

为避免这种情况,您可以改为使用“destroy”或隐藏自动完成输入并将其替换为普通输入。您可能需要稍后重新创建自动填充功能,具体取决于您的应用程序要求。

我确信这是一个更优雅的解决方案,但我还没有找到“禁用”正在做什么来创建这种行为。

答案 1 :(得分:0)

我找到了一个简单的解决方法来解决这个问题。从自动完成中选择项目后触发输入区域上的按键事件可以解决问题。

$('#autocomplete').trigger('keypress');

您可以在此处查看修复工作: http://jsfiddle.net/HKxua/