2015-10-15 69 views
0

我正在使用HTML5拖放操作,並且我已經放置目標,可以是空的<div><div><img>作爲子節點。處理嵌套HTML元素的拖放操作?

爲了讓div下降的目標,我設置onDrop=對這些div。

如果我在包含圖像的div上結束放置,則e.target是圖像節點。

如果我在一個空的div上結束放置,e.target是div。

要處理下降,我需要找到div的ID,並且因爲e.target可以是圖像或div,所以我在檢查e.target.parentNode以防萬一我找不到我要查找的信息e.target

有沒有一種方法可以設置,使e.target永遠是div?或者正在查找parentNode鏈標準操作程序?

+0

'e.target.parentNode'沒問題! –

+0

如果你在div上設置了事件監聽器,那麼'this'就是div,順便不要把事件監聽器放在HTML中,把它們放在javascript – Saar

+0

@Saar--好的,我會試試看。我正在使用react,所以我將這些監聽器設置爲HTML - 除非有更好的方法。 – ErikR

回答

0

這是一個老問題,但答案可能有助於某人。使用DIV元素象下面這樣:

<div id="my-div" onDrop="dropped('my-div');"> 
    ... 
</div> 

你將永遠在dropped即使下降發生在孩子上的任何水平得到ID爲「我的-DIV」。