目前我正在使用toggleClass
滑动容器以显示菜单。
var btn = $('#headBtn');
var wrap = $('#wrapper');
function slider_click() {
btn.on('click', function (event) {
wrap.toggleClass('slideout');
});
}
slider_click();
这很有效。
我还想在容器上启用点击事件以移除课程.slideout
但是当我启用此功能时,容器会在中滑动,但会再次退出。
function slider_tap() {
var $ = jQuery;
var hammertime = Hammer(wrap).on('tap', function () {
$(this).removeClass('slideout');
});
我正在使用的按钮也是正在侦听点按事件的容器的一部分,因此当您点击该事件时,它似乎会触发toggleClass
和点击事件。
如何启用点击事件,仍然可以正确使用我的按钮。
我希望能够将容器滑出,并能够通过删除班级slideout
来点击屏幕上的任何位置包括按钮以再次将其重新滑入。
答案 0 :(得分:1)
坚持点击将使这项工作,虽然比点击慢但它应该工作
因为我建议检测事件目标(事件源自哪里)http://api.jquery.com/event.target/
如果这适用于锤子,那么你可以说一下,如果目标是按钮,不做任何事情,否则删除课程。假设目标事物有效,那么
var hammertime = Hammer(wrap).on('tap', function (event) {
if( !$(event.target).is('#headBtn') ) {
$(this).removeClass('slideout');
}
});