当用户在评论框中输入内容时,我的应用程序包含一个预先输入功能。以与 Facebook 和 google+ 类似的方式,它将执行用户查找并即时建议他们作为标签。
当用户选择其中一个提供的标签时,它会作为一个元素输入到输入区域。
我决定为此使用可竞争的 div,但遇到了一些问题。
事实证明,当它们设置为 contenteditable false 时,firefox 不会删除插入的元素,而其他所有主要浏览器都会这样做。
为了解决这个问题,我将插入的“用户”标签设置为 contenteditble=true 并编写了一个快速的 jquery 解决方法来解决这个问题。
除了一个主要问题外,它还可以完美运行。如果该区域中有多个标签,并且其中第一个标签没有任何文本,那么当用户删除最后一个标签时(假设使用退格键从右到左删除),插入符号在最终删除后的位置不正确。
再次键入似乎然后将位置恢复正常。
此问题仅在 Firefox 中出现
这是一个显示问题的 jsFiddle:
http://jsfiddle.net/gordyr/PESky/
将光标放在最后一个标签的末尾,然后按住退格键直到所有元素都被删除。您将看到光标/插入符号向上移动并移出位置。
这很可能实际上是 Firefox 本身的一个错误,但是我正在寻找某种解决方法,因为没有使用 javascript 自动删除元素,根本不会被删除。
非常感谢