- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 HammerJS 检测双击和平移(点击一次,然后按下、移动和释放),但我不确定该怎么做。我阅读了文档,但我不明白与“双击”点击和平移相比,我如何检测不到“简单”平移。
其实我可以用下面的代码检测到,但是我想知道是否有更好的解决方案。
var gestureManager = new Hammer.Manager( this.canvas, {
recognizers: [
[ Hammer.Tap ],
[ Hammer.Pan ],
[ Hammer.Pan, { event: 'panend' } ]
]
);
gestureManager.on( 'tap', ( ev ) => {
this.tapTime = new Date().getTime();
});
gestureManager.on( 'pan', ( ev ) => {
var panTime = new Date().getTime();
if ( panTime - this.tapTime < 750 ) {
this.isDragEnabled = true;
...
}
});
gestureManager.on( 'panend', ( ev ) => {
if ( this.isDragEnabled ) {
...
this.isDragEnabled = false;
}
});
有什么建议吗?
最佳答案
我做过类似的事情,试图在触摸持续一段时间后检测平底锅。它基于您可以启用和禁用识别器这一事实。
var shortPress = new Hammer.Press({
time: 500, // how long to press before you can start dragging
event: 'shortPress'
});
var pan = new Hammer.Pan({ event: 'pan', enable: false });
var mc = new Hammer.Manager(element);
mc.add(shortPress);
mc.add(pan);
mc.on("shortPress", function(ev) {
pan.set({ enable: true });
});
mc.on("pan", function(ev) {
// do whatever you need
});
// don't forget to disable the pan recognizer when the dragging ends
mc.on("panend pancancel shortPressup", function(ev) {
pan.set({ enable: false });
});
但对于您的双击和平移场景,我认为它更复杂,因为您不能仅通过轻敲 2 次来切换 Press 识别器,因为只有在您抬起手指时才会检测到它。所以它更像是检测水龙头,启用平移,但如果它在一定时间后没有启动,则设置超时以禁用它。但是您已经这样做了,在这种情况下您的代码似乎更简单。
顺便说一句,您可能还希望在平移之前允许按下,以允许双击时的情况,但让手指静止一会儿,然后才移动它。
关于javascript - 在 Hammer.js 中点击后立即检测平移,将其称为双击平移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35556162/
menu Home Events Technical Schedule
我试图阻止触发默认 anchor 链接和 onclick 事件。 这是 HTML 代码: Google 我正在尝试使用以下 jQuery 代码阻止任何重定向的发生: $("#mylink").cli
我想在单击父 div 上的任意位置时切换我的 div,除非单击 anchor 元素。因此,例如,如果我单击示例中的第一个文本,我希望它切换,但在我的示例中的第二个文本上,我不希望它切换。 JSFidd
我在通过 jQuery 伪造 anchor 点击时遇到问题:为什么我的thickbox在我第一次点击输入按钮时出现,但第二次或第三次却没有出现? 这是我的代码: Link 当我直接点击链接时,它总是
我已经从 Mootools 切换到 jQuery,因为我认为它有更好的支持。我有这样的 HTML: Opcje Opcje Opcje Opcje Opcje Opcje Opcje JS
我是一名优秀的程序员,十分优秀!