Sex*_*ast 2 html css jquery drag-and-drop jquery-ui
我目前正在设计一个内联文本编辑器.用户可以随时将图像拖放到编辑器中.
编辑器完全iFrame基于,在很大程度上依赖于嵌套div的样式和格式.现在,如果用户将图像拖放到内容的中间并将其放在那里,我希望将放置区域上方的内容打包成一个div,将图像放在其下面,并将放置区域下面的内容打包到另一个中div并放置在图像下方.
但是我不知道如何div根据坐标将其分成两部分(可以从jQuery drop handler获得).任何人都可以告诉我如何做到这一点?
我想我得到了你想要做的事情的要点,我做了一个简短的剧本来证明一个可能性.我将文本分成每个字符一个div,并使这些div可以排序,这样我就可以将图像拖放到文本中间
HTML
<span class="sortable">
<img id="image" src="https://si0.twimg.com/profile_images/1842775519/profile_normal.png" />
<input type="text" size="1" id="tb"/>
</span>
Run Code Online (Sandbox Code Playgroud)
使用Javascript
$(function () {
$(".sortable").sortable(); //Makes panel sortable (needs jquery and jquery UI)
$("#tb").keyup(function () { //binds keyup event on the input box
$('<div>' + $(this).val() + '</div>').insertBefore(this); //adds the input box value to a new div and inserts it into the DOM before the input box itself
$(this).val(''); // empties the input
});
});
Run Code Online (Sandbox Code Playgroud)
CSS
* {
float:left
}
.sortable {
border: solid 1px black;
width:200px;
float:left
}
Run Code Online (Sandbox Code Playgroud)
在这里看到一个工作小提琴 http://jsfiddle.net/urbanbjorkman/cFfS9/1/
这可能是一个疯狂的帽子解决方案大块的文本.它仍然需要大量工作(显然因为这只是几行javascript)
但是将文本保留在一个div中并不是不可思议的.然后将它拆分为sortstart事件中的单独元素.在sortstop事件中,将所有连接文本重新连接在一起,并将图像保留在原来的位置.从而为你提供你所要求的div与div分成两半的图像.