如何使用 HTML 实现在空白网页上任意位置编辑内容?

2014 年 8 月 17 日
 alexlah
没有文本编辑框的那种~

谢谢大家啦=)
4014 次点击
所在节点    程序员
15 条回复
zzNucker
2014 年 8 月 17 日
contentEditable
lrz0lrz
2014 年 8 月 17 日
contentEditable + 1
jsonline
2014 年 8 月 18 日
楼上说的都无法满足需求。
应该是在鼠标点击的位置插入一个 contentEditable 的 div,绝对定位,位于最上层。
bombless
2014 年 8 月 18 日
这里有一个问题是网页的内容是会变的,各个元素会移位。那么你是按照视窗的位置来插入呢还是按照页面整体的位置来插入呢?直接插入到文本流中就没法实现任意位置了,那么会带来更多的棘手的选择题。
所以这个问题一是要给出更多的限制条件,也就是意识到不同类型的页面不可能都一致的处理,另一方面做一些痛苦的妥协。

我之前做的一个是回溯需要插入的元素的祖先元素中第一个不是静态定位的元素,直接给找到的这个元素插入一个绝对定位的子元素。
bombless
2014 年 8 月 18 日
噗,meikd
bombless
2014 年 8 月 18 日
没看到标题的空白网页不好意思,那用canvas吧
kisshere
2014 年 8 月 18 日
javascript:document.body.contentEditable=true;
ETiV
2014 年 8 月 18 日
如果想像 Word 那种, 双击任意位置就可以开启文本插入的编辑模式, 3楼的做法是正确的
zzcworld
2014 年 8 月 18 日
任意位置编辑内容?推荐嵌入CKEditor,官方网站在这里: http://ckeditor.com/,示例在这里: http://ckeditor.com/demo#inline
heliumhgy
2014 年 8 月 18 日
楼主是要实现OneNote那种效果吧
alexlah
2014 年 8 月 18 日
@heliumhgy 是的!
alexlah
2014 年 8 月 18 日
@heliumhgy 您知道怎么实现吗?
alexlah
2014 年 8 月 18 日
就是OneNote那种编辑效果,整个页面就是画布~

我试了一下contenteditable,还是会有边框呢。。
heliumhgy
2014 年 8 月 18 日
@alexlah o(︶︿︶)o 不清楚啊
heliumhgy
2014 年 8 月 18 日
不知道 OneNote 的online版是如何实现的,你参考一下吧

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

https://study.congcong.us/t/128430

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

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

© 2021 V2EX