【问题标题】:Handling drag over event处理拖动事件
【发布时间】:2017-07-14 08:50:30
【问题描述】:

我正在实现 html5 拖放(第一次)。我有以下 ng-repeat,其中放置目标是外部 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。

【问题讨论】:

    标签: javascript angularjs html


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多