我正在开发一个带有phonegap和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);
});
答案 0 :(得分: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**
替换为标识要忽略的元素的内容。