Estoy buscando una manera de diferenciar entre presionar Entrar en un evento de input[type="search"] (evento de búsqueda) y borrar la consulta haciendo clic en X.
He intentado buscar variables en e y e.target
Lo único que se me ocurre es:
search.addEventListener("search", (e) => { e.addEventListener("keypress", event => { if (event.key === "Enter") { .... } }); });Pero no me gusta esto en absoluto, y no hay forma de detectar específicamente el clic X. Normalmente uso funciones de controlador, por lo que creo que la legibilidad del código se verá afectada por este anidamiento de eventos.
¿Hay una forma integrada o mejor para lograr esto? ¡Toda ayuda y pensamientos son bienvenidos!
Según mi experiencia, no hay forma de diferenciar entre estos dos, a menos que use una función específica con el controlador de eventos onClick.
Esto también puede ayudar. ¿Cómo detecta la limpieza de una entrada HTML5 de "búsqueda"?