7
私は何を達成しようとしていることです:デスクトップでJavascriptをクリック、タップやホバー
:1)ホバーオーバーレイ2を起動するために)タッチで
を有効にするにはクリック:1)起動するタップオーバーレイ2)もう一度タップして有効にしてください
私がこれまで出てきたことは以下の通りです。しかし、タッチデバイスを使用すると、touchend
イベントとclick
イベントの両方が発生するため、オーバーレイクリックイベントが不必要に発生します。もしあれば、これを取り巻く最善の方法は何ですか?
$(".container > .item").on("mouseenter mouseleave", function(e) {
$(this).toggleClass("hover");
console.log("hover: " + e.type);
});
$(".container > .item > .overlay").on("mouseup touchend", function(e) {
console.log("click: " + e.type);
})
.item {
width: 200px;
height: 200px;
background: red;
display: inline-block;
position: relative;
}
.item.hover > .overlay {
display: block;
}
.overlay {
display: none;
position: aboslute;
top: 0;
left: 0;
height: 100%;
width: 100%;
background: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<div class="item">
<div class="overlay">
</div>
</div>
</div>