contentEditable在发生新行时插入br

时间:2014-01-04 20:22:54

标签: javascript html contenteditable

contentEditable具有自动换行功能,当您达到可编辑区域的宽度时会创建一个新行。这很好,但我之后解析了这个内容,我需要它来添加<br>。我已经尝试了我能想到的一切,但我无法做到这一点。任何帮助都很受欢迎。

1 个答案:

答案 0 :(得分:1)

这是不可能的,包装点是“浏览器自由裁量权”,因此容易受到字体大小差异,字体未安装,字体渲染引擎,抗锯齿设置等的影响。换行点是,可以这么说,从浏览器的角度来看,“不是你的问题”,因此它不会提供这些信息。

理论上你可以在JS中以动态大小和类似风格的div重新构建内容,并监视高度何时发生变化 - 这就是新行发生的地方。尽管如此,这仍然是一个糟糕的代码来实现一个狡猾的结果。

我不禁觉得你在这里要求XY-solution - 如果你需要在给定点上换行,让最终用户在他想要的时候给他们。只需将overflow:auto;white-space:nowrap添加到可编辑元素即可强制它们。 Example here