我想知道是否可以检测是否未点击某个元素。这是我的代码:
$("#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语句放在此函数之上在未点击条件时。不知道该怎么做。
答案 0 :(得分:11)
您可以将data
属性作为点击检测器维护到该元素。
示例:
<button class="myButton" data-clicked="no">My Button</button>
在这里,我将data-clicked=no
设置为初始配置。
在click
事件集data-clicked
到yes
之内,如:
$('.myButton').on('click', function() {
$(this).data('clicked', 'yes');
});
现在检查以下data-clicked
属性:
var isClicked = $('.myButton').data('clicked');
if( isClicked == 'yes') {
// do something
} else {
// do something else
}