私はあなたがやろうとしていることの要点を理解していると思います.1つの可能性を示すために短いスクリプトを作成しました. テキストを文字ごとに 1 つの 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>
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
});
});
CSS
* {
float:left
}
.sortable {
border: solid 1px black;
width:200px;
float:left
}
ここで動作するフィドルを参照してください
http://jsfiddle.net/urbanbjorkman/cFfS9/1/
これは、テキストの大きなチャンクに対するちょっとしたマッドハッター ソリューションかもしれません。そして、まだ多くの作業が必要です (明らかに、これは数行の JavaScript に過ぎないため)。
しかし、テキストを 1 つの div に保持することは考えられないことではありません。そして、それを sortstart イベントで個別の要素に分割します。そして、sortstop イベントで、接続しているすべてのテキストを一緒に結合し、画像を元の場所に残します。したがって、画像を間に挟んで div を 2 つに分割することで、要求したものが得られます。