jQuery的:如何检测,如果一个元素没有被点击?(jQuery: How to detect if

2019-07-31 14:31发布

我想知道,如果它可以检测,如果一个元素没有点击。 这是我的代码:

$("#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的‘)。在(’点击”,函数(){检测单击事件。我希望把if-else语句此功能上述内部时不点击状态。不知道如何做这个。

Answer 1:

您可以维护一个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
}


文章来源: jQuery: How to detect if an element is not clicked?