AddEventListener al hacer clic funciona, pero en event.keypress o event.code no. No puedo entender por qué? Traté de agregar el código clave, con y sin "", traté de 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 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(); } })Para addEventListener, es posible que necesite un tercer argumento falso, por ejemplo, button.addEventListener("click",function(){blah},false);
button.addEventListener("keyup", function(event) { // Number 13 is the "Enter" key on the keyboard if (event.key === 'Enter') { // Cancel the default action, if needed event.preventDefault(); //now do what you want to do. createListElement(); } } false);Solo quiero decir que definitivamente deberías usar Google con más frecuencia. Pude encontrar la respuesta después de 1 búsqueda en Google. De todos modos, espero que esto ayude.
Encontré la manera correcta:
function addListAfterKeyPress(event) { if (inputLength() > 0 && event.key === "Enter") { createListElement(); } }