2014-01-30 76 views
0

目前我使用toggleClass滑動容器以顯示菜單。我有一個點擊事件,我想覆蓋點擊事件

var btn = $('#headBtn'); 
var wrap = $('#wrapper'); 

function slider_click() { 
    btn.on('click', function (event) { 
     wrap.toggleClass('slideout'); 
    }); 
} 
slider_click(); 

This works。

我也想啓用容器上的點擊事件來刪除類.slideout,但是當我啓用此功能時,容器滑入,但又退出

function slider_tap() { 
    var $ = jQuery; 
    var hammertime = Hammer(wrap).on('tap', function() { 
     $(this).removeClass('slideout'); 
    }); 

我使用的按鈕也是被監聽點擊事件容器的一部分,所以當您單擊事件似乎觸發toggleClass和輕擊事件。

如何啓用水龍頭事件並仍然能夠正確使用我的按鈕。

我希望能夠將容器滑出並能夠點擊屏幕上的任意位置,包括按鈕,通過刪除類slideout再次將其滑回。

+1

不能在jQuery中單獨完成?什麼是錘子的東西?點擊註冊在觸摸設備上嗎?您可以將點擊綁定到文檔並刪除類別 – Huangism

+0

@Huangism點擊事件的運行速度比單擊事件快。 – UzumakiDev

+0

是這個jQuery的移動或只是jQuery的? – Huangism

回答

1

棒與點擊將使這一工作,雖然比自來水更慢,但它應該工作

當我暗示檢測到該事件的目標(該事件起源於)http://api.jquery.com/event.target/

如果這適用於錘,然後你可以說,如果目標是按鈕,不要做任何事情,否則刪除類。假設目標事情工作然後

var hammertime = Hammer(wrap).on('tap', function (event) { 
    if(!$(event.target).is('#headBtn')) { 
     $(this).removeClass('slideout'); 
    } 
}); 
+0

謝謝你的時間,這很好:) – UzumakiDev