Отключить jQuery SnapPoint для планшетов / мобильных устройств
Я немного озадачен этим.
Как мне отключить следующий код для мобильных устройств / планшетов (<768 пикселей) и включить его для настольных компьютеров (>786 пикселей)?
Github:
https://github.com/robspangler/jquery-snappoint
Демо-версия:
http://robspangler.com/git/jquery-snappoint/demo/demo.html
Точка в правильном направлении будет принята с благодарностью.
1 ответ
То, что вы в основном просите, - это способ отменить все, что было сделано данным плагином. Что переводит на это в запросе:
enquire.register("(min-width:768px)", {
match : function() {
//apply the plugin
},
unmatch : function() {
//undo whatever the plugin did
}
}, true);
true
в конце советуем всегда считать это подходящим для неспособных браузеров. Таким образом, старый IE и т. Д. Всегда получат настольную версию, в то время как все остальные ведут себя правильно. См. Раздел "сначала для мобильных устройств" здесь: http://wicky.nillia.ms/enquire.js/ для получения дополнительной информации.
Итак, глядя на этот плагин, он не предоставляет API для отключения / отмены его поведения (общая тема с плагинами jQuery). К счастью, кажется, что единственное, что он делает, это присоединяет слушателя к событиям прокрутки окна. Так что вы должны просто быть в состоянии сделать это:
enquire.register("(min-width:768px)", {
match : function() {
$(".whatever").snapPoint();
},
unmatch : function() {
$(window).off("resize");
}
}, true);
Примечание: рассматриваемый плагин не содержит пространства имен обработчика событий, к которому он присоединяется, поэтому мы вынуждены быть немного жесткими и отключить все обработчики событий изменения размера. В конечном итоге это означает, что то, что мы здесь делаем, может повлиять на поведение других плагинов.
Если по какой-то причине то, что я предложил, не работает (и в свете примечания выше), вам следует рассмотреть вопрос о том, чтобы поднять проблему с автором плагина:
- обеспечить механизм, чтобы отменить это поведение
- обработчики событий пространства имен, чтобы их можно было удалить, не затрагивая другие обработчики.
Надеюсь, это поможет.