我正在实施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。
答案 0 :(得分:0)
这可以通过使用node.addEventListener('dragover', handler_func, true)
而不是元素属性来实现。
addEventListener
的第3个函数打开事件捕获,这允许将从子元素触发的事件发送到指定的handler_func
。