Мне интересно, что является лучшим способом для настройки моей конфигурации hammer.js на простой документ, над которым я работаю. Вот мой код:Правильный способ запускать() в событиях jquery hammer
var tappableArea = $('.content');
var touchableArea = $('.sidebar');
function reloadHammerGestures() {
tappableArea.hammer().off("doubletap");
touchableArea.hammer().off("swipeleft swiperight");
hammerGestures();
}
function hammerGestures() {
tappableArea.hammer().off("doubletap");
touchableArea.hammer().off("swipeleft swiperight");
if (fullScreenMode()) {
touchableArea.hammer().on("swipeleft swiperight", function(event) {
alert("swiped!");
});
else if (!fullScreenMode()) {
tappableArea.hammer().on("doubletap", function(event) {
alert("tapped");
});
}
}
$(document).ready(function() {
hammerGestures();
});
$(window).resize(function() {
reloadHammerGesture();;
});
И функция и загружается на $(document).ready()
и (window).resize()
, так вот почему я делаю .off()
в начале .. мне интересно, что это неправильный метод на получение его выключенным в случае условных изменений экранного режима, если вы можете помочь мне в улучшении этого кода, я буду очень рад.
уход тейк и имеют хороший день :)
Было бы хорошо, чтобы увидеть разницу между tappableArea и touchableArea и узнать, почему они не могут сосуществовать с их молотом поведения. – Ringo
только два div, и единственная причина, по которой я хочу отключить это поведение hammer.js, - это настройка макета. Простым способом, после изменения размера окна, я не хочу развязывать все обработчики событий молотка и повторно инициализировать функцию hammerGestures(). – user1854236
Код, который у вас есть, выглядит ОК. Я не думаю, что кто-то может помочь вам с большими проблемами или шаблонами дизайна, если вы не предоставите больше информации. «Настройка макета» не дает мне достаточно информации о том, почему вы должны отключить поведение и повторно применить их. Просто потому, что вы изменяете размер окна, это не значит, что вам нужно повторно применять поведение. Можете ли вы поместить свой код в jsfiddle или хотя бы разместить здесь HTML. – Ringo