Отключить 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);

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

Если по какой-то причине то, что я предложил, не работает (и в свете примечания выше), вам следует рассмотреть вопрос о том, чтобы поднять проблему с автором плагина:

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

Надеюсь, это поможет.

Другие вопросы по тегам