首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用hammer.js 2进行适当的事件传播?

如何利用hammer.js 2进行适当的事件传播?
EN

Stack Overflow用户
提问于 2014-12-11 16:51:06
回答 1查看 981关注 0票数 5

在这样的情况下,我使用Hammer.js 2.0.4来侦听tap事件: on在父div元素中,一个在子元素中。当由子处理时,我想停止事件传播。但是,hammer.js 2不支持这一点。

在下面的示例中,我希望子事件的tap事件首先触发,然后触发父事件(从子事件到父事件冒泡)。相反,它看起来像第一个创建的hammer.js实例的hammer.js事件首先触发。

尝试以下示例(也在jsbin上):

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
  <script src="//cdn.jsdelivr.net/hammerjs/2.0.4/hammer.js"></script>
  <style>
    #child {
      width: 200px;
      height: 200px;
      background: lightgreen;
    }
  </style>
</head>
<body>
<p>
  See the browser console. Why does the tap event of the parent div fire first?
</p>
<div id="parent">
  <div id="child">click here</div>
</div>

<script>
  var hammerParent = new Hammer(document.getElementById('parent'));
  var hammerChild = new Hammer(document.getElementById('child'));

  hammerParent.on('tap', function (event) {
    console.log('tap parent');
  });

  hammerChild.on('tap', function (event) {
    console.log('tap child');
  });
</script>
</body>
</html>

如何在hammer.js中进行适当的事件传播?

EN

回答 1

Stack Overflow用户

发布于 2015-03-23 08:15:58

我在hammer.js v2之上创建了一个小库来解决传播问题:

https://github.com/josdejong/propagating-hammerjs

不过,如果hammer.js能立即支持这一点,那就太好了。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27428185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档