3

要素がクリックされていないかどうかを検出できるかどうかを知りたいです。これは私が持っているコードです:

$("#mpElement").myFeature({
            .........
            .........
            .........
    afterDo: function() {
        // This if-else statement has to go inside "when not clicked" condition. 
        // Not sure how to do this...
        if($(".myButton").last().hasClass("selected")) {
            $(".myButton").first().addClass("selected");
            $(".myButton").last().removeClass("selected");
        } else {
            $(".selected").removeClass("selected").next().addClass("selected");
        }
        $(".myButton").on("click", function(){
            $(".myButton").removeClass("selected");
            $(this).closest(".myButton").addClass("selected"); 
        });
    }
});

クリックイベントを検出するための$(".myButton").on("click", function(){に気付くでしょう。クリックされていない状態の場合、この関数の上に if-else ステートメントを配置したいと思います。方法がわからないこれを行う。

4

1 に答える 1

12

dataその要素のプロパティをクリック検出として維持できます。

例:

<button class="myButton" data-clicked="no">My Button</button>

ここでは、data-clicked=no初期設定として設定します。

好きに設定されたclickイベント内:data-clickedyes

$('.myButton').on('click', function() {
  $(this).data('clicked', 'yes');
});

次に、このdata-clickedプロパティを次のように確認します。

var isClicked = $('.myButton').data('clicked');

if( isClicked == 'yes') {
   // do something
} else {
  // do something else
}
于 2012-09-16T05:12:22.083 に答える