我正在构建一个类似于twitter的复杂文本区域自动完成功能,包括在选择后禁用自动完成功能,并在用户键入特殊字符时再次启用自动完成功能。
我发现了firefox中不存在chrome和IE的错误。
在Chrome上通过输入选择项目并禁用textarea上的自动完成后,将忽略第一个键盘输入。例如,选择自动完成选项,然后点击空格。空间被忽略了。再次点击它,它的工作原理。
第一个空格在firefox中不会被忽略,但它在chrome中。
以下是我在http://jsfiddle.net/H4ayD/上设置的一个简单示例,用于说明问题。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
为避免这种情况,您可以改为使用“destroy”或隐藏自动完成输入并将其替换为普通输入。您可能需要稍后重新创建自动填充功能,具体取决于您的应用程序要求。
我确信这是一个更优雅的解决方案,但我还没有找到“禁用”正在做什么来创建这种行为。
答案 1 :(得分:0)
我找到了一个简单的解决方法来解决这个问题。从自动完成中选择项目后触发输入区域上的按键事件可以解决问题。
$('#autocomplete').trigger('keypress');
您可以在此处查看修复工作: http://jsfiddle.net/HKxua/