如何识别具有 Hammer.js 的识别器的子节点上的事件
How to recognize events on child nodes for recognizers with Hammer.js
我的场景:
-我有一个带有缩略图的边栏
我想要达到的目标:
- 滑动侧边栏将其关闭
我卡在哪里:
- 在侧边栏上滑动工作正常,但如果滑动是在图像缩略图上开始的,它不会在侧边栏上注册为平移事件,因此它仅在空白 space 是滑动的起点时才有效
我没用jquery,直接用JS+Hammer.js
function setupSidebar(elem){
let sidebar = new Hammer.Manager(elem);
sidebar.add(new Hammer.Pan({ direction: Hammer.DIRECTION_LEFT, threshold: 0}));
sidebar.on('panstart',function(){ isPanning = false; });
sidebar.on('pan',dragX);
}
以上是我将事件绑定到边栏本身的方式。它是从一个循环中调用的,该循环简单地循环遍历具有特定类名的任何内容。
我发现了问题。我使用 e.target 而不是这个,来引用实际代码中的对象 运行。这就是阻止子事件触发拖动的原因。
我的场景:
-我有一个带有缩略图的边栏
我想要达到的目标:
- 滑动侧边栏将其关闭
我卡在哪里:
- 在侧边栏上滑动工作正常,但如果滑动是在图像缩略图上开始的,它不会在侧边栏上注册为平移事件,因此它仅在空白 space 是滑动的起点时才有效
我没用jquery,直接用JS+Hammer.js
function setupSidebar(elem){
let sidebar = new Hammer.Manager(elem);
sidebar.add(new Hammer.Pan({ direction: Hammer.DIRECTION_LEFT, threshold: 0}));
sidebar.on('panstart',function(){ isPanning = false; });
sidebar.on('pan',dragX);
}
以上是我将事件绑定到边栏本身的方式。它是从一个循环中调用的,该循环简单地循环遍历具有特定类名的任何内容。
我发现了问题。我使用 e.target 而不是这个,来引用实际代码中的对象 运行。这就是阻止子事件触发拖动的原因。