jquery移动滚动和活动状态

时间:2013-04-15 23:05:40

标签: jquery-mobile

我有一组可以在我的jquery移动页面上滚动的div。每个div在CSS中都有一个活动类,因此它们在点击时会改变颜色。出于某种原因,当我尝试滚动列表时,项目变为活动状态,因为我正在“点击”它们。

这不是太严重而且看起来很好,但还有另外一个小故障。如果页面是内部滚动,所以我只是轻弹它并且它没有停止移动,点击屏幕将激活我在第一次滚动时按下的div。

知道造成这种情况的原因是什么/如何阻止它?

1 个答案:

答案 0 :(得分: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内,它仍然有效。