我有一个元素列表,每个元素中都有一个控制句柄。我可以轻松地拖放元素以重新排序。但是我不确定如何将拖动开始限制在句柄元素上。
例如:
<ul>
<li draggable="true" ondragstart="..." ondrop="..." ondragover="..."><div class="reorder"></div>Item 1</li>
<li draggable="true" ondragstart="..." ondrop="..." ondragover="..."><div class="reorder"></div>Item 2</li>
<li draggable="true" ondragstart="..." ondrop="..." ondragover="..."><div class="reorder"></div>Item 3</li>
</ul>
在上述代码中,我可以点击和拖动句柄元素或文本“Item #”来重新排序它们。
我认为在ondragstart函数中,我可以检查event.target的类是否为handle,如果不是则执行event.preventDefault(),但似乎无论拖动是从div还是li开始,目标始终是li。
因此,在ondragstart事件中有没有一种方法可以检查鼠标是否悬停在子元素上。