我有一个可编辑的正文div:
<body contenteditable="true">
<div class="paragraph">Text</div>
<body/>
Run Code Online (Sandbox Code Playgroud)
和:before风格:
div.paragraph:before {
content: "?";
}
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/uy9xs5p0/
在Firefox中,我可以将光标放在文本的开头,然后按退格键并删除复选标记.怎么预防?
LcS*_*zar 11
您正在设置contenteditable父div中,因此在删除时,您正在删除div.paragraph,因此伪将消失.
请注意,如果您在子div中设置属性,则可以使其工作.
div.paragraph:before {
content: "?";
}Run Code Online (Sandbox Code Playgroud)
<div>
<div contenteditable="true" class="paragraph">Text</div>
</div>Run Code Online (Sandbox Code Playgroud)
当重现此问题时(例如,通过这个小提琴),开发人员工具显示div.paragraph已删除.仅保留文本节点.

变
要阻止div被删除,请不要给它的父级contenteditable.请改用:
<body>
<div class="paragraph" contenteditable="true">Text</div>
</body>
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/5y00q6ya/3/
| 归档时间: |
|
| 查看次数: |
646 次 |
| 最近记录: |