如何使用范围对象来解决这个问题?
提前致谢。
我的代码:
<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/