处理拖拽事件

时间:2017-07-14 08:50:30

标签: javascript angularjs html5

我正在实施html5拖放(第一次)。我有以下ng-repeat,其中drop target是外部div:

<div ng-repeat="chapter in chapters" class="chapter " ondrop="drop_handler(event);" ondragover="dragover_handler(event);">
    <div><bold>{{chapter.title}}</bold></div>
    <div>{{chapter.text}}</div>
</div>

然而,对于内部元素(如event.target)也会触发dragover事件。

在我的dragover_handler()中,我需要抓住外部div,以便我可以设置背景颜色。我怎样才能做到这一点?

我可以通过为每个内部元素指定一个ondragover然后选择外部div来做到这一点,但这真的很难看,因为它需要每个内部元素的ondragover attr。

1 个答案:

答案 0 :(得分:0)

这可以通过使用node.addEventListener('dragover', handler_func, true)而不是元素属性来实现。

addEventListener的第3个函数打开事件捕获,这允许将从子元素触发的事件发送到指定的handler_func