@green176

Как исключить объект в JS?

Использую свайпы на сайте с помощью плагина Hammer, свайпы отлавливаю так
var move_drawer = new Hammer(document.body);
           move_drawer.get('swipe').set({threshold: 50, direction: Hammer.DIRECTION_HORIZONTAL});

т.е. свайпы отлавливаются со всей страницы, но мне нужно, что бы свайпы не отлавливались на каких то div'ах, как их исключить?
  • Вопрос задан
  • 343 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Wheelie
new Hammer(document.body);

вот тут пропишите на что вешать, какие блоки исключать.
Ответ написан
lazalu68
@lazalu68
Salmon
green176: Если по свайпу у вас происходит какое-то действие, которое вы не хотите выполнять если свайп был на определенного типа элементах, как вариант по свайпу можете проверять event.target. То есть свайп так же вешаете на document.body, а потом просто смотрите, на каком элементе был свайп. Например так, попробуйте сделать свайп на блоках разного цвета. Цвет блока отобразится слева сверху. Смотрите, как это реализовано. Если говорить о вашем примере ("как мне отсюда (document.body) исключить div с классом например mydiv?"), можете делать так:

var body_hammer = new Hammer(document.body)

body_hammer.on("swipe", function(event) {
    if ( !$( event.target ).is('.mydiv') ) {
        // some actions
    }
});


А если все же хотите запариться и вешать Hammer более чем на один элемент, вот смотрите как народ делает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы