es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo Activar el Clic del Botón al Presionar Enter en JavaScript

El addEventListener en click funciona, pero en event.keypress o event.code no.
No entiendo por qué.
Intenté agregar el código de tecla, con y sin “”, intenté eliminar el valor predeterminado, con indicación de la longitud del objeto (inputLength() > 0 && event.code “Enter”) etc. todavía nada.
No puedo encontrar una solución en los hilos existentes ((.

var button = document.getElementById(“enter”);
var input = document.getElementById(“userinput”);
var ul = document.querySelector(“ul”);

function inputLength() {
return input.value.length;
}

function createListElement() {
var li = document.createElement(“li”);
li.appendChild(document.createTextNode(input.value));
ul.appendChild(li);
input.value = “”;
}

button.addEventListener(“click”, function() {
if (inputLength() > 0) {
createListElement();
}
})

button.addEventListener(“keyup”, function(event) {
event.preventDefault();
if (event.key === “Enter”) {
createListElement();
}
})

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Al parecer, el problema radica en el listener de eventos para keypress o keycode. El código actual solo incluye un listener de eventos para el evento keyup. Para agregar un listener de eventos para keypress, el código debería incluir:

    button.addEventListener("keypress", function(event) {
      event.preventDefault();
      if (event.code === "Enter") {
        createListElement();
      }
    })
    

    Esto escuchará el evento de presión de tecla “Enter” y activará la función createListElement() si se presiona. Además, asegúrese de que el elemento de entrada tenga enfoque antes de intentar ingresar cualquier texto.

Comments are closed.