我正在試驗拖動&拖放到Javascript中。到目前爲止,這是工作,但我的dragable對象中可編輯的內容都沒有可用的了(因此他們不正常的方式)拖放保持可編輯內容的行爲
這是一個dropable對象的例子:
<div id="ziel_2" draggable="true" trvdroptarget="true">
<div> some text<br>some text</div>
<div contenteditable="true">some text</div>
</div>
整個對象不應該被拖動,如果我嘗試使用contenteditable div,我想單擊文本並編輯它或只是選擇一些文本昂只是拖動它就像正常
所以問題:我該如何取消拖動事件如果e.target.hasAttribute(「contenteditable」)ondragstart?
編輯:這是幕後到目前爲止的代碼:
function lieferungen_draggable_add_dragstart(obj)
{
obj.addEventListener('dragstart', function (e) {
if(e.target.hasAttribute("contenteditable")) { /* make something stop this thing */ }
e.dataTransfer.effectAllowed = 'move';
e.dataTransfer.setData('Text', this.getAttribute('id'));
return false;
});
return obj;
}
EDIT2:
contenteditableDiv.addEventListener('mousedown', function() { this.parentNode.setAttribute("draggable", false); });
contenteditableDiv.addEventListener('mouseup', function() { this.parentNode.setAttribute("draggable", true); });
這個工作對我來說基於一個想法從https://stackoverflow.com/a/9339176/4232410
感謝您的幫助!
你可以給一個ID,CONTENTEDITABLE部分,然後結合可拖動事件時,排除/這些ID - 需要看到你的代碼真的添加了代碼 –
,但我不知道如何排除可拖動元素中的特定元素 – mech
剛發現http://stackoverflow.com/questions/6848140/how-do -i-prevent-drag-on-child-but-allow-drag-on-the-parent似乎是一個類似的問題,但沒有結果;( – mech