Contenteditable标签延续

介绍发生问题之前的情况:

当在包含html标签的contenteditable中输入文本时,如果您在标签的右侧,它将继续在标签内插入。 例如,如果我有这样的文字:

The <b>quick</b> fox jumped over the lazy dog.

它呈现像这样

快速 | 狐狸跳过那只懒惰的狗。

我的光标位于管道位置,紧跟在单词quick后面。 如果我输入棕色,我会得到

The <b>quick brown</b> fox jumped over the lazy dog. 

快速的棕色 | 狐狸跳过那只懒惰的狗。

例如:http://jsfiddle.net/mBzvs/

我的问题是,如何删除其他标签(如span)的此标签延续功能? 我想保留<b>标签,但我不希望这发生在<span>标签中。


Chrome和其他WebKit浏览器将始终将插入符放在<b>元素的末尾,而不是下一个文本节点的开头。 例如,查看此WebKit错误。 也是这一个。 Firefox给你更多的控制。

没有解决方案选项是好的。 查看链接的WebKit错误的一些建议。


在有些人找到更好的解决方案之前,我建议你将contenteditable="false"<b>标签。

The <b contenteditable="false">quick</b> fox jumped over the lazy dog

以来:

  • 您可能希望<b>标记中的内容不可编辑。 如果没有,当他开始在该标签中的最后一个字符旁边打字时,很难分辨出人们想要什么。
  • 很容易满足你的第二个要求:
    我想保留它为b标签,但我不希望这发生的span标签。
  • 注意:您需要为IE添加额外的代码。 请参阅contenteditable = false内部contenteditable = true块在IE8中仍可编辑

    链接地址: http://www.djcxy.com/p/18087.html

    上一篇: Contenteditable tag continuation

    下一篇: Named entity recognition using freebase