/ / jqueryモバイルスクロールとアクティブ状態-jquery-mobile

jqueryモバイルスクロールとアクティブ状態 - jquery-mobile

スクロールできるdivのセットがあります私のjqueryモバイルページで。各divにはCSSのアクティブなクラスがあるため、タップすると色が変わります。何らかの理由でリストをスクロールしようとすると、アイテムを「クリック」しているため、アイテムがアクティブになります。

それはそれほど深刻ではなく、見た目は問題ありませんが、別の不具合もあります。ページが中間スクロールであるため、フリックしただけで動きが止まらない場合は、画面をタップすると、最初にスクロールしたときに押したdivがアクティブになります。

何がこれを引き起こしているのか/それを止める方法はありますか?

回答:

回答№1は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 クリックイベントが発生しても、引き続き機能します。