【发布时间】:2014-01-17 00:58:58
【问题描述】:
当用户在 contenteditable 元素中插入换行符时,浏览器会将 HTML 插入元素中。
这是您在各种浏览器中点击[Enter] 时得到的结果:
IE: <p></p>
Chrome: <div><br></div>
Safari: <div><br></div>
Firefox: <br />
Opera: <br />
(用this JSFiddle demo自己测试。)
当用户没有插入任何 HTML 时,有没有办法让浏览器不插入 HTML?当然,我可以使用
<textarea></textarea>
...这确实与我想要的非常相似,但是,我不想要严格的“纯文本”输入,我会使用 Javascript 在可编辑元素中添加和修改 HTML。
我考虑在用户键入时不断地删除所有 HTML,只允许保留我创建的特殊类的 HTML。然而,这似乎不是一个很好的解决方案。是否有类似wrap='soft' 或其他方式来表示“停止编写 HTML 并将其放入我的元素中!”
【问题讨论】:
标签: html contenteditable richeditabletext