在问题出现之前发生的小介绍:
在包含html标记的contenteditable中键入文本时,如果您位于标记的右侧,则会继续插入标记内。例如,如果我有这样的文字:
The <b>quick</b> fox jumped over the lazy dog.
它会像这样呈现
快速 |狐狸跳过懒狗。
我的光标位于管道位置,直接位于 quick 之后。如果我输入 brown ,我会得到
The <b>quick brown</b> fox jumped over the lazy dog.
快速棕色 |狐狸跳过懒狗。
我的问题是,如何删除其他标记(例如span)的标记延续功能?我想保留<b>
代码,但我不希望<span>
代码发生这种情况。
答案 0 :(得分:2)
Chrome和其他WebKit浏览器始终将插入符号放在<b>
元素的末尾,而不是下一个文本节点的开头。例如,请参阅this WebKit bug。 this one也是{{3}}。 Firefox为您提供更多控制权。
所有解决方案选项都不好。请参阅链接的WebKit错误以获取一些建议。
答案 1 :(得分:1)
在某些人找到更好的解决方案之前,我建议您将contenteditable="false"
设置为<b>
代码。
The <b contenteditable="false">quick</b> fox jumped over the lazy dog
自:
<b>
标记中的内容不可编辑。如果没有,当他开始在该标签的最后一个字符旁边打字时,很难说出人们想要什么。注意:您需要IE的其他代码。见contenteditable=false inside contenteditable=true block is still editable in IE8