作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么我的 panstart 事件触发频率与 pan 事件触发频率相同? panstart 不是应该每个手势只触发一次吗?
var myElement = document.getElementById('myElement');
var myResult = document.getElementById('myResult');
// create a simple instance
var mc = new Hammer(myElement);
// setup pan gesture support
mc.get('pan').set({ event: 'panstart', direction: Hammer.DIRECTION_ALL });
// listen to events...
var timesFired = 0;
mc.on("panstart", function(ev) {
timesFired++;
myElement.textContent = ev.type;
myResult.textContent = '# events fired: ' + timesFired;
});
#myElement {
background: silver;
height: 100px;
text-align: center;
font: 50px/100px Helvetica, Arial, sans-serif;
}
#myResult {
text-align: center;
font: 50px/70px Helvetica, Arial, sans-serif;
}
<script src="https://hammerjs.github.io/dist/hammer.js"></script>
<div id="myElement">(pan here)</div>
<div id="myResult"></div>
最佳答案
当你写下这个
mc.get('pan').set({ event: 'panstart', direction: Hammer.DIRECTION_ALL });
您是说,当检测到平移时,应该触发名为 panstart 的事件。这就是为什么你会得到这么多 panstart。
修改:
mc.get('pan').set({ **enable: true**, direction: Hammer.DIRECTION_ALL });
// listen to events...
var timesFired = 0;
mc.on("panstart pan", function(ev) {
timesFired++;
myElement.textContent = ev.type;
myResult.textContent = '# events fired: ' + timesFired;
});
关于Hammer.js - Panstart 事件多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31740308/
为什么我的 panstart 事件触发频率与 pan 事件触发频率相同? panstart 不是应该每个手势只触发一次吗? var myElement = document.getElementByI
我需要一个带有一个指针和多个指针的平移。一个指针用于在 map 上绘制,多个指针用于拖动 map 。创建自定义平移手势后,我无法触发 native 平移事件,例如 panstart 或 panend。
我想通过构建一个简单的程序在屏幕上拖动一个元素来学习 Hammer JS,就像 Hammer homepage 上的一样. 我使用了 Hammer 上发布的代码 github page ,这似乎与主页
我是一名优秀的程序员,十分优秀!