2015-02-26 2 views
0

У меня возникли проблемы с включением сенсорных событий с помощью Meteor. Я установил пакет chriswessels:hammer, но по какой-то причине он не работает. Я, вероятно, пропустил что-то очень простое. Нужно ли каким-то образом инициализировать его?Начало работы с hammer.js на Meteor.js

Когда я просто добавить

Template.showProduct.gestures({ 
'swipe': function(e, t) { 
    e.preventDefault(); 
    console.log("HAMMERTIME!"); 
    } 
}); 

ничего не происходит. Вот пример кода http://meteorpad.com/pad/ZStmQwaPfP9LNDX2v/Hammertime

Я изменил

Template.player.events({ 
    'click': function() { 
    Session.set("selectedPlayer", this._id); 
    } 
}); 

в

Template.player.events({ 
    'tap': function() { 
    Session.set("selectedPlayer", this._id); 
    } 
}); 

не должна ли эта работа?

ответ

2

Welly у вас отсутствует CSS-селектор.

Клавиша объекта должна соответствовать формату gestureName CSSSelector и значения должна быть функцией обратного вызова, которая выполняется, когда указано жеста выполняется на элементе (ов), соответствующий селектор CSS .

Так что измените код на это.

Template.showProduct.gestures({ 
'swipe .myItem': function(e, t) { 
    e.preventDefault(); 
    console.log("HAMMERTIME!"); 
    } 
}); 

Где myItem должна быть панель или что вы хотите, чтобы красть.

+0

Я уже пробовал, например. '' салфетки ', но ничего не меняется. Я также пробовал с классами css и т. Д. Пожалуйста, посмотрите на это http://meteorpad.com/pad/ZStmQwaPfP9LNDX2v/Hammertime '/ client/app.js' и строку 26 дальше. – Mika

+0

это работает для меня, на метеоритной площадке это dosnt работает idk, почему, но я сделал простой репо на моем компьютере с 'swipe left', и он работает, вы должны знать, что вам нужно заменить' events' на 'gestures' и ''tap'' должен иметь селектор css – Ethaan

+0

Отлично! Спасибо @Ethaan, я тоже работал над своим компьютером. По какой-то причине он не работает на Meteorpad. – Mika