Tengo un problema, no puedo eliminar el detector de eventos en la condición dentro de la función de devolución de llamada.
Tengo la impresión de que la sintaxis es correcta. Pero el evento sigue activo.
¿Alguien sabe cómo eliminar el evento touchstart ?
mutation.target.removeEventListener("touchstart",(e) => { handleClickButton(e) }, true); const headerSearchBox = document.querySelector(".search-box"); function handleClickButton(event) { event.preventDefault(); alert("You Clicked on the button") } const mutationCallback = function (mutationList) { mutationList.forEach((mutation) => { let isSearchOpen = mutation.target.classList.contains("search-container"); // If Search Bar is Open : Do This... if (mutation.type === "attributes" && isSearchOpen && mutation.oldValue.includes("open")) { console.log("Search Bar is Open"); mutation.target.addEventListener("touchstart",(e) => { handleClickButton(e) }, true); } else { console.log("Search Bar is Close"); mutation.target.removeEventListener("touchstart",(e) => { handleClickButton(e) }, true); } }); }; const observer = new MutationObserver(mutationCallback); observer.observe(headerSearchBox, { attributes: true, attributeOldValue: true, attributeFilter: ["class"], });Gracias por su apoyo