su mouseUp
o touchEnd
Voglio ottenere il riferimento dell'elemento su cui è accaduto l'evento.Come arrivare e comportarsi come mouseUp?
In questo esempio, è necessario fare clic su un elemento, trascinare il mouse e rilasciato su un altro elemento. Quando il mouse viene rilasciato, lo sfondo di quell'elemento diventa rosso. Il mio codice funziona correttamente per gli eventi del mouse, ma non sui dispositivi touch.
Quando lo touchStart
si trova su un elemento e il dito viene rilasciato su un altro elemento, ricevo solo il riferimento al primo elemento.
Cosa devo modificare per rendere gli eventi di tocco funzionanti esattamente come gli eventi del mouse?
var isMouseDown = false;
var panel1 = document.getElementById('panel1');
var panel2 = document.getElementById('panel2');
panel1.onmousedown = onDocumentMouseDown;
panel1.onmouseup = onDocumentMouseUp;
panel1.onmousemove = onDocumentMouseMove;
panel1.addEventListener('touchstart', onDocumentTouchStart, false);
panel1.addEventListener('touchmove', onDocumentTouchMove, false);
panel1.addEventListener('touchend', onDocumentTouchEnd, false);
panel2.onmousedown = onDocumentMouseDown;
panel2.onmouseup = onDocumentMouseUp;
panel2.onmousemove = onDocumentMouseMove;
panel2.addEventListener('touchstart', onDocumentTouchStart, false);
panel2.addEventListener('touchmove', onDocumentTouchMove, false);
panel2.addEventListener('touchend', onDocumentTouchEnd, false);
function onDocumentMouseDown(event) {
event.preventDefault();
panel1.style.background="#2E442E";
panel2.style.background="#5D855C";
}
function onDocumentMouseUp(event) {
event.preventDefault();
this.style.background="#ff0000";
}
function onDocumentMouseMove(event) {
}
function onDocumentTouchStart(event) {
event.preventDefault();
panel1.style.background="#2E442E";
panel2.style.background="#5D855C";
}
function onDocumentTouchMove(event) {
}
function onDocumentTouchEnd(event) {
event.preventDefault();
this.style.background="#ff0000";
}
quali dispositivi touch hai provato (significa) – shareef
** Domanda simile ** [Come scoprire l'evento.target effettivo dell'evento javascript touchmove?] (Http://stackoverflow.com/q/3918842/351708) – Rohit