我有一個div,用戶可以拖動,裏面該分區是一些文字,我想允許用戶選擇(因此他們不能將它拖動)跨度。我如何讓div拖動,但不是跨度?如何防止拖動孩子,但允許拖動父母?
dragstart事件是對格。
我可能俯瞰簡單的東西。我在div上嘗試了draggable = true,並且在span上draggable = false。這沒有用。試圖在dragstart上返回false,這也不起作用。
的dragstart(大約):
var jTarget = $(e.target);
if ((jTarget.is('div.header') || (jTarget.parents('div.header'))
&& !jTarget.is('a, input, span')))
{
e.originalEvent.dataTransfer.setData("Text", "test");
}
else
{
if(e.preventBubble)
e.preventBubble();
if(e.stopPropagation)
e.stopPropagation();
return false;//???
}
的的if else部分工作如我所料,但我不能讓任何事來阻止拖動並允許選擇。
不認爲這是可能的 - 儘管你可以解決它通過提供在拖動事件可以連接到div一個拖動手柄,使內部文本可以進行選擇。無法區分點擊/拖動和點擊/拖動來突出顯示。它們只是一個鼠標移動,然後是鼠標移動。 –
你的'dragstart'處理程序中有什麼代碼?請將其添加到您的問題。 – robertc
@Marc乙 - 我開始覺得我有可能做到這一點。儘管如此,這還不夠理想,因爲我的跨度可能佔用1.5行,而我希望其他0.5行可拖動。這將很難拉開。而且,這個對象是頭對象,因此爲拖動目的添加另一個頭是不可能的。 – aepheus