Javascript 使文本适应html文档中的可拖动图像

Javascript 使文本适应html文档中的可拖动图像,javascript,html,Javascript,Html,我正在开发一个包含文本和图像的富文本编辑器。我试图找出一种方法,使文本在图像移动到文档的不同区域时环绕图像。我不完全确定从哪里开始。我的第一反应是构造文档,使其成为div(表示段落)的集合,然后从指定的div添加/删除图像。但问题是,我不完全确定如何使用触发javascript函数的gui来实现这一点。我最初的想法是计算文档中所有div的高度、宽度和位置,随着图像位置的变化,为相关div调用appendChild()/removeChild()方法(我可能必须动态生成元素ID)。我想知道的是我走

我正在开发一个包含文本和图像的富文本编辑器。我试图找出一种方法,使文本在图像移动到文档的不同区域时环绕图像。我不完全确定从哪里开始。我的第一反应是构造文档,使其成为div(表示段落)的集合,然后从指定的div添加/删除图像。但问题是,我不完全确定如何使用触发javascript函数的gui来实现这一点。我最初的想法是计算文档中所有div的高度、宽度和位置,随着图像位置的变化,为相关div调用
appendChild()
/
removeChild()
方法(我可能必须动态生成元素ID)。我想知道的是我走对了吗?或者我应该以另一种方式批准这个问题


仅供参考,我正在移动设备上工作,解决方案必须针对触摸屏。

您可以通过将容器对象设置为contenteditable div,并使图像向左(或向右)浮动来实现这一点

如果您想知道图像的位置何时更改,可以设置一个计时器,对照上次检查的版本检查div的innerHTML,或者,如果只有一个图像,可以检查 请查看以下代码段:

var lastText=document.querySelector(“.container”).innerText;
setInterval(函数(){
var currText=document.querySelector(“.container”).innerText;
如果(lastText!=currText){alert(“dom已更改”);}
lastText=当前文本;
},1000);
.img{
浮动:左;
高度:200px;
宽度:200px;
}

什么是Lorem Ipsum?

Lorem Ipsum仅仅是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是该行业的标准虚拟文本,当时一位不知名的印刷商拿起一个打印工具,争先恐后地制作了一本字体样本书。它不仅存活了五个世纪,而且还跨越到了电子排版,仍然是埃森理论上没有变化。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着桌面出版软件(如Aldus PageMaker)包括Lorem Ipsum版本而流行。


我们为什么要用它?

长期以来,读者在查看页面布局时会被页面的可读内容分散注意力是一个既定事实。使用Lorem Ipsum的意义在于,它的字母分布或多或少是正常的,而不是使用“此处内容,此处内容”,使其看起来像可读的英语。许多桌面发布软件包和web pa通用电气的编辑们现在使用Lorem Ipsum作为他们的默认模型文本,搜索“Lorem Ipsum”将发现许多尚处于起步阶段的网站。多年来,各种版本不断演变,有时是偶然的,有时是故意的(注入幽默等)。

它来自哪里?

与流行的观点相反,Lorem Ipsum并不是简单的随机文本。它起源于公元前45年的一段古典拉丁文学,距今已有2000多年的历史。弗吉尼亚州汉普顿悉尼学院的拉丁语教授理查德·麦克林托克从Lorem Ipsum的一段文章中查到了一个更为晦涩的拉丁语单词,即Concertetur,并通过e引用古典文学中的这个词,发现了无可置疑的来源。Lorem Ipsum来自西塞罗于公元前45年写的《德菲尼布斯·博诺勒姆和马洛勒姆》(善与恶的极端)的第1.10.32节和第1.10.33节。这本书是一篇关于伦理理论的论文,在文艺复兴时期非常流行。Lorem Ipsum的第一行Lorem ipsum dolor sit amet..”来自第1.10.32节中的一行。

自15世纪以来使用的Lorem Ipsum的标准块复制如下,供感兴趣的人使用。西塞罗的《de Finibus Bonorum et Malorum》中的第1.10.32节和第1.10.33节也以其精确的原始形式复制,并附有H.Rackham 1914年翻译的英文版本。


对于移动设备有不同的命令吗?代码正在移动设备上运行,我无法让它工作。可能是因为div中的所有文本而不是?对于移动设备,我唯一成功的拖放操作就是使用JqueryUI的draggable和Jquery IU TouchPunch().你应该在问题中添加一点关于移动设备的信息。你可能会得到一个更好的答案。