2013-04-15 151 views
0

我有一套div可以在我的jquery移動頁面上滾動。每個div在CSS中都有一個活動類,所以它們在被輕敲時會改變顏色。出於某種原因,當我嘗試在列表中滾動時,項目變爲活動狀態,因爲我正在'點擊'它們。jquery移動滾動和活動狀態

這不是太嚴重,它看起來很好,但也有另一個小故障。如果頁面是慣性滾動的,所以我只是輕彈它,它並沒有停止移動,屏幕上的一個水龍頭將激活我第一次滾動時按下的div。

任何想法是什麼造成這個/如何阻止它?

回答

0

你可以嘗試stopPropagation

HTML:

<div id='someID'> 
    <someElement /> 
</div> 

JS:

$('#someID').click(function(e){ 
    e.stopPropagation(); //stops default behaviour 
    //check to make active/inactive 
    if($('#someID').hasClass('active')){ 
     $('#someID').removeClass('active'); 

     //do what needs to be done when it becomes activated 
    } else { 
     $('#someID').addClass('active'); 
     //do what needs to be done when disabled 
    } 

    //do whatever you always want to here 

}); 

注:凡是需要單擊事件工作將被重新啓用事後,雖然如果你使用鏈接/按鈕/等。在具有點擊事件的div內,它仍然會起作用。

+0

我仍然希望他們去活動,而不是當他們滾動 – centree

+0

「積極」通過使用類?因爲這是使用.addClass('name')添加一個類的簡單問題。 – Nukeface

+0

我已經根據類的用法添加了答案,如果您使用其他方法隨意提問或修改 – Nukeface