Claro, deberías poder combinar los eventos 'mouseleave' y 'touchmove' en un solo controlador de eventos. Aquí tienes un ejemplo básico:
JavaScript:
var elemento = document.getElementById('miElemento');
elemento.onmouseleave = elemento.ontouchmove = function(event) {
var touch;
// Verificar si es un evento touchMove
if(event.touches) {
touch = event.touches[0];
elemento = document.elementFromPoint(touch.clientX, touch.clientY);
} else {
// En caso de que sea un mouseleave
elemento = event.target;
}
if (!elemento.classList.contains("li")) {
alert("hola");
}
}
En este ejemplo, 'miElemento' sería el ID de tu elemento. Debes reemplazarlo con el ID real de tu elemento. La verificación
event.touches
se usa para identificar si el evento es un 'touchmove' o un 'mouseleave'. Si es un 'touchmove', se obtiene el elemento mediante
document.elementFromPoint
. Si es un 'mouseleave', puedes utilizar
event.target
para obtener el elemento.