Используя события указателя, я не могу найти подходящее событие для запуска касанием пальцами на смартфонах (протестировано с Chrome Android и Chrome Devtools с мобильной эмуляцией).
Что мне нужно: наведение курсора«событие, если вы касаетесь действия , которое проходит через элемент, удерживая палец, перемещаясь по экрану.
То есть опускайте палец за пределы элемента, перемещайтесь по нему и перемещайте палецтолько после полного прохождения элемента.
Я добавил код, отсекаемый, чтобы прояснить: мне не нужны события для синих элементов, мне нужны только соответствующие события "in / out" для красного элемента вфрагментПример JS-кода будет запускаться для мыши, но на мобильном устройстве он не вызывает никакого console.infos.
var elem = document.querySelector(".element");
elem.addEventListener("pointerover", function() {
console.clear();
console.info("pointerover triggered");
});
elem.addEventListener("pointerenter", function() {
console.clear();
console.info("pointerenter triggered");
});
elem.addEventListener("pointerleave", function() {
console.clear();
console.info("pointerleave triggered");
});
.outer {
width: 100px;
height: 100px;
border: 3px solid grey;
font-size: 12px;
color: white;
text-align:center;
touch-action: none;
}
.start {
position: relative;
top:0px;
left:0px;
width: 100px;
height: 20px;
background-color: blue;
}
.element {
position: relative;
top: 20px;
left: 0px;
width: 100px;
height: 20px;
background-color: red;
}
.end {
position: relative;
top: 40px;
right: 0;
width: 100px;
height: 20px;
background-color: blue;
}
<div class="outer">
<div class="start">Start touch here</div>
<div class="element">Move over here</div>
<div class="end">End touch here</div>
</div>