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