Co staram się osiągnąć to:JavaScript kliknięć, Kurki i Hovers
Na pulpicie: 1) Hover aby wywołać nakładkę 2) Kliknij, aby aktywować
w dotyku: 1) Naciśnij, aby przywołać nakładka 2) Naciśnij ponownie, aby włączyć
Co mam wymyślić tak daleko jest poniżej. Jednak w przypadku używania urządzenia dotykowego wyzwala ono zdarzenie touchend
, a następnie zdarzenie click
, co powoduje niepotrzebne uruchamianie zdarzenia kliknięcia nakładki. Jaki jest najlepszy sposób obejścia tego, jeśli w ogóle?
$(".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>