Reputation: 9519
Why is my panstart event firing just as often as pan? Isn't panstart supposed to fire just once per gesture?
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>
Upvotes: 2
Views: 1820
Reputation: 51
When you write this
mc.get('pan').set({ event: 'panstart', direction: Hammer.DIRECTION_ALL });
you are saying that an event named panstart should be fired when pan is detected. That why you get so many panstarts.
modification:
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;
});
Upvotes: 5