2013-10-02 1 views
0

Я разрабатываю мобильное приложение с телефонной связью и Zepto, и я борюсь с одной проблемой. У меня есть боковое меню слева и справа, которые показаны с помощью салфетки. Однако в моем основном контейнере у меня есть небольшой слайдер, который работает со щелчком. Моя проблема заключается в том, что как только я закончу прокрутку контейнера слайдера, вызывается событие салфетки для боковых меню и отображается меню. Есть ли способ предотвратить такое поведение?Добавить прослушиватель событий к нескольким элементам, за исключением одного

Код:

Zepto(document).on('swipeRight', function(){ 
    if($('#search-container').hasClass('back-left')) 
     handleSideSearchMenu(); 
    else if(!$(showLeft).hasClass('active')) 
     MyObj.handleSideMenu(showLeft); 
}).on('swipeLeft', function(){ 
    if($('#search-container').hasClass('to-right') && !$(showLeft).hasClass('active')) 
     handleSideSearchMenu(); 
    else if($(showLeft).hasClass('active')) 
     MyObj.handleSideMenu(showLeft); 
}); 

ответ

1

Вы могли бы это сделать ...

Zepto(document).on('swipeRight', function(e) { 

    if ($(e.target).is(**slider-container**)) return; 

    if($('#search-container').hasClass('back-left')) 
     handleSideSearchMenu(); 
    else if(!$(showLeft).hasClass('active')) 
     MyObj.handleSideMenu(showLeft); 

}).on('swipeLeft', function(e){ 

    if ($(e.target).is(**slider-container**)) return; 

    if($('#search-container').hasClass('to-right') && !$(showLeft).hasClass('active')) 
     handleSideSearchMenu(); 
    else if($(showLeft).hasClass('active')) 
     MyObj.handleSideMenu(showLeft); 
}); 

В приведенном выше коде, e.target является элементом DOM, который вызвал событие, так что вы можете использовать, чтобы проверьте элементы, которые вы хотите игнорировать.

Не видя разметки, я не могу помочь. Вам нужно будет заменить **slider-container** на то, что идентифицирует элемент, который вы хотите игнорировать.

+0

Это полностью решило мою проблему. Большое спасибо! –

+0

Не беспокойтесь - рад помочь :) – Archer