0
「父」ボックスをページの別の場所に適切にドラッグできません。 e.preventDefault
をオンにしないと、ブラウザは別のコンテナを再作成せずに要素を移動することで、範囲の指示を無視します。 容器を正しく動かす必要があります。父、どうすればいいですか? ライブコードはhereです。コンテナとその中のすべての子を移動する
var span;
var clone;
var id;
window.onload = function() {
id = document.getElementsByClassName('father')[0];
var b = document.body;
id.addEventListener("dragstart", dragStart, false);
id.addEventListener("dragend", dragEnd, false);
b.addEventListener('drop', function(event) {
dropp(event)
}, false);
}
function dragStart() {
span = document.getElementsByClassName('father')[0];
clone = span.cloneNode(true);
}
function dragEnd() {
if (document.getSelection) {
range = window.getSelection().getRangeAt(0);
range.insertNode(clone);
}
}
function dropp(e) {
e.preventDefault();
}
<body contenteditable="true">
<p> first paragraph </p>
<p> second paragraph
<span class="father">
\t \t \t <img id="first-child" src="http://www.telegraph.co.uk/content/dam/Travel/Destinations/Africa/Mauritius/Mauritius---Beaches---Tropical-beach-large.jpg" width="200" height="auto">
\t \t \t <span id="second-child" style="color:red;">Text</span>
</span>
</p>
</body>
...それはあなたのために有用であるかどうかを確認します。私は、テキストに従うことによって、コンテナを移動する必要があり、それがなければなりませんテキストの一部。 – User