Soy nuevo en js y hoy estaba escribiendo un script simple para verificar el marcador de posición del texto de entrada, si se hace clic en el texto de entrada, se elimina el marcador de posición, y si el usuario deja la entrada vacía, vuelve al marcador de posición. el problema es que no se puede encontrar un detector de eventos cuando el usuario deja la entrada. ¿Cómo puedo verificar cuándo el usuario deja la entrada?
let element = document.getElementById("username"); const x = () => { element.setAttribute("placeholder"," "); } element.addEventListener("click",x); const y = () => { if(element.value === ""){ element.setAttribute("placeholder", "USERNAME"); } } <input type="text" placeholder="USERNAME" name="username" id="username">puede verificar cuándo el usuario se enfoca fuera de la entrada poniendo eventlistener focusout:
element.addEventListener("focusout", y);simplemente agregue esto al final de sus códigos y funcionará bien.
Puede crear un eventListener con un evento de focusout y luego establecer el valor de su placeholder de posición como desee.
let element = document.getElementById("username"); const x = () => { element.setAttribute("placeholder"," "); } element.addEventListener("click",x); const y = () => { if(element.value === ""){ element.setAttribute("placeholder", "USERNAME"); } } element.addEventListener("mouseout", function(){ element.placeholder = "new placeholder"; }) <input type="text" placeholder="USERNAME" name="username" id="username">