Мой Hammer JS не будет регистрировать мой обработчик крана, пока я не использую функцию панорамирования - PullRequest
0 голосов
/ 10 мая 2018

Я обычно нахожу здесь все свои ответы, но я еще не видел этого.

Итак, у меня есть два слушателя событий hammer js, панорамирование и нажатие.

Панорамирование работает идеально все время, однако, прослушиватель событий не воспринимает нажатие до тех пор, пока обработчик события панорамирования не будет вызван хотя бы один раз, тогда он работает отлично.

Я кодирую приложение IOS, используя Cordova.

Прошу прощения, если об этом уже спрашивали! (Первый вопрос здесь)

Ребята, есть ли у вас какие-либо предложения или решения?

var myElement = document.getElementById('screenWidth');
var mc = new Hammer.Manager(myElement);
mc.add( new Hammer.Tap({ event: 'doubletap', taps: 1 }) );
mc.add(new Hammer.Pan({direction:Hammer.DIRECTION_HORIZONTAL, 
threshold:80, pointers: 0}));


mc.on("panend", function(ev) {
if(ev.direction == Hammer.DIRECTION_RIGHT)
{ 
  //alert("Swipe right.");
}
else if (ev.direction == Hammer.DIRECTION_LEFT)
{
  //alert("Swipe left.");
}

mc.on("doubletap", function(e){

  var tapX = e.center.x;
  var tapY = e.center.y;
  console.log(tapX + " + " + tapY);

  e.gesture.srcEvent.preventDefault();
});

1 Ответ

0 голосов
/ 11 мая 2018

Ответ - Я переместил обработчик события касания перед обработчиком события панорамирования, и теперь все работает отлично.

...