javascript - 在可内容编辑容器内的元素开头插入文本

标签 javascript range selection contenteditable

示例:http://jsbin.com/vixuse/1/

如何使用范围对象来解决这个问题?

提前致谢。

我的代码:

<div contenteditable="true">
    Hello World <span>try to insert text in the beginning of this element</span>    
</div>

当用户尝试在 span 元素的开头插入文本时,结果:

<div contenteditable="true">
    Hello World [INSERTED_TEXT]<span>try to insert text in the beginning of this element</span>    
</div>

最佳答案

我只是得到了一种解决方案来解决您的问题,但不是使用 Range 对象。

您可以将属性contenteditable=false设置为div,然后将属性true设置为span 您需要编辑。

由于我不知道您需要的具体使用场景,所以我的解决方案仅对您的示例有用。

如果它对您的场景没有用,请不要对我投反对票。

更新

此外,如果您仍然需要整个容器的 contenteditable=true,您可以将 contenteditable=true 设置为容器(body或其他标签),false 为该行的标签,true 为您需要编辑的标签。

这是 jsbin 链接:http://jsbin.com/jolopela/5/edit

谢谢, 爱迪生

关于javascript - 在可内容编辑容器内的元素开头插入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24612922/

相关文章:

javascript - 获取父菜单的位置和宽度

javascript - 新行无法出现在 Canvas 内的字符串中

javascript - javascript 中的范围选择器。范围无效?

css - 多个CSS3::选择

delphi - delphi 5 中观察 DBGrid 中选择更改的标准方法是什么?

javascript - 使用 javascript 中的 setInterval 函数在控制台中打印未定义的原型(prototype)

javascript - 将 Accordion 选项卡滑动到浏览器顶部

range - Go:范围仅从 channel 接收奇数个值

python - 如果我们在 python 的 for 循环中使用范围内的一些数学运算怎么办

ios - 可选择 UITextView 链接,而无需选择其余文本