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.