¿Hay alguna forma alternativa de hacer esto?
hammertime.on('pan', function(e) { if(e.target.classList.contains("disableEvent")) return false if(e.target.parentElement?.classList?.contains("disableEvent")) return false if(e.target.parentElement?.parentElement?.classList?.contains("disableEvent")) return false move() } Es decir, verifique si el e.target está dentro del elemento con la clase disableEvent .
Puede llamar a .closest() con un selector que coincida con la clase.
hammertime.on('pan', function(e) { if (!e.target.closest(".disableEvent")) { move(); } });Una forma infalible es seguir comprobando recursivamente los padres del nodo;
function hasParentWithMatchingSelector (target:Node, selector:string) { const allSubMenus : NodeListOf<Element> = document.querySelectorAll(selector) let myArray = Array.from(allSubMenus) return [...myArray].some(el => el !== target && el.contains(target) ) }Beneficios que incluyen verificar otras cosas también.