Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 内容可编辑标记延续_Javascript_Html_Contenteditable - Fatal编程技术网

Javascript 内容可编辑标记延续

Javascript 内容可编辑标记延续,javascript,html,contenteditable,Javascript,Html,Contenteditable,提问前的小介绍: 在包含html标记的contenteditable中键入文本时,如果您位于标记的右侧,它将继续插入标记中。例如,如果我有这样的文本: The <b>quick</b> fox jumped over the lazy dog. 敏捷的狐狸跳过了懒狗。 结果是这样的 那只敏捷的狐狸跳过了那只懒狗 我的光标位于管道位置,直接位于单词quick之后。如果我穿棕色衣服进去,我会得到 The <b>quick brown</b> fox

提问前的小介绍:

在包含html标记的contenteditable中键入文本时,如果您位于标记的右侧,它将继续插入标记中。例如,如果我有这样的文本:

The <b>quick</b> fox jumped over the lazy dog.
敏捷的狐狸跳过了懒狗。 结果是这样的

那只敏捷的狐狸跳过了那只懒狗

我的光标位于管道位置,直接位于单词quick之后。如果我穿棕色衣服进去,我会得到

The <b>quick brown</b> fox jumped over the lazy dog. 
敏捷的棕色狐狸跳过了懒狗。 敏捷的棕色狐狸跳过了那只懒狗

例如:


我的问题是,如何为其他标记(如span)删除此标记延续功能?我想为
标记保留它,但我不希望
标记发生这种情况

在有人找到更好的解决方案之前,我建议您将
contenteditable=“false”
设置为
标记

The <b contenteditable="false">quick</b> fox jumped over the lazy dog
敏捷的狐狸跳过了懒狗 自:

  • 您可能希望
    标记中的内容不可编辑。如果不是,当他开始在标签的最后一个字符旁边打字时,很难判断人们想要什么
  • 很容易满足您的第二个要求:
    我想为b标签保留它,但我不希望跨度标签发生这种情况

  • 注意:IE需要额外的代码。请参见Chrome和其他WebKit浏览器将始终将插入符号放在
    元素的末尾,而不是下一个文本节点的开头。例如,见。也。Firefox给你更多的控制


    没有一个解决方案是好的。查看链接的WebKit bug以获得一些建议。

    在jsbin.com之类的网站上添加一个示例会有所帮助。suggestedIt很好奇,我在Firefox 28上没有这个问题。。。当我把光标放在
    quick
    旁边写东西时,它不在
    标签中……在Chrome上100%的时间都是这样。但我也在Firefox26上测试了它。如果使用箭头键移动光标,它将使用它所在的上一个位置的标记。因此,如果从右向左移动,它将被解除绑定。如果从左向右移动,它将以粗体显示。如果您直接单击该位置,它也将被加粗。我认为这里的逻辑可以做到这一点,但是尝试在contenteditable元素中移动插入符号是一个混乱。