关于可编辑 div 里的回车换行问题

2021-09-24 16:06:12 +08:00
 aglsv

现在我敲回车换行,完了在敲文字的话,他中间的那个空行我不知道空了几行,所以就想在每个空行中添加个回车符号,就像 word 一样,但是我看 word 中的换行符是特殊字符 symbol:191,这玩意在在 js 中怎么敲啊

1075 次点击
所在节点    问与答
5 条回复
AoEiuV020
2021-09-24 16:20:40 +08:00
不行的,word 是自己的程序自己处理特殊符号的显示,
浏览器里就算输入也不会有一样的内容的,只能是乱码之类的,
sgiyy
2021-09-24 18:13:35 +08:00
可以看下这个 demo,应该满足你的需求了。记得打开编辑器的 console 。

https://codesandbox.io/s/contenteditable-div-dyfd7?file=/index.html
aglsv
2021-09-26 16:17:28 +08:00
@sgiyy https://files.catbox.moe/cvum7l.png 我打开是这样的,请问这个是没有加载完成吗
sgiyy
2021-09-26 16:38:40 +08:00
@aglsv #3 嗯,不过不用看了。你直接测一下,一个可编辑 DIV( <div contenteditable id="edit"></div> ),编辑以后(输入 a 、换行、输入 b 、换行),你通过 el.innerHTML 获取它的内容,输出一下。应该会得到类似的结构( Chrome ):

a
<div><br></div>
<div>b</div>
<div><br></div>

根据 br 的数量可以知道换行数量和位置了。这样应该是你想要的吧
aglsv
2021-09-27 14:46:50 +08:00
@sgiyy 非常感谢回答,我想的是在敲回车换行的时候显示一个回车符号,现在是找人整了个 svg 格式的回车符号,想的是在敲回车的时候加入这个,不过现在的问题是该怎么引入这个 svg 图片,记得 svg 是能直接通过 font-size 来控制大小的,完了还能改颜色,不顾我通过 img 和 embed 来引入都能这么操作,想问问这个该怎么整啊。还有一个是本来想的是通过 div:empty 来直接把空行的 div 的背景设置成这个,但是空行 div 里面有个<br>,所以:empty 选择器实现不了,请问有好的解决办法吗。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803944

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX