Entonces el código que tengo hasta ahora es:
<fieldset id="LinkList">
<input type="text" id="addLinks" name="addLinks" value="http://">
<input type="button" id="linkadd" name="linkadd" value="add">
</fieldset>
No está en a <form>
y es exactamente como está dentro de a <div>
. Sin embargo, cuando textbox
escribo algo en el llamado "addLinks", quiero que el usuario pueda presionar Enter y activar el "linkadd" button
que luego ejecutará una función de JavaScript.
¿Cómo puedo hacer esto?
Gracias
Editar: encontré este código, pero no parece funcionar.
$("#addLinks").keyup(function(event){
if(event.keyCode == 13){
$("#linkadd").click();
}
});
keypress
y comprobare.charCode==13
(botón de entrada).keypress
okeydown
mencionó en esta respuesta, es el camino a seguir.Respuestas:
fuente
Es …… 2020. Y creo que esto todavía es cierto.
NO UTILICE
keypress
keypress
evento es no desencadena cuando el usuario pulsa una tecla que no produce ningún carácter , tales como Tab, Caps Lock, Delete, Backspace, Escape, izquierdo y derecho Shift, teclas de función ( F1- F12).Ha quedado obsoleto.
NO UTILICE
KeyboardEvent.keyCode
¿Qué debo usar entonces? (La buena práctica)
fuente
if (event.key == "Enter") { document.querySelector("#linkadd").click(); }
:?.key
no es compatible con todos los navegadores: caniuse.com/#feat=keyboardevent-key : aproximadamente el 10% de las personas usa navegadores que no lo admiten.Hay una solución sin js.
Establezca
type=submit
el botón que le gustaría que sea predeterminado ytype=button
otros botones. Ahora, en el formulario a continuación, puede presionar Enter en cualquier campo de entrada, y elRender
botón funcionará (a pesar de que es el segundo botón en el formulario).Ejemplo:
Probado en FF24 y Chrome 35 (
formaction
es una función html5, perotype
no lo es).fuente
button
con unsubmit
submit
controlador del formulario, no alclick
controlador del botónSi presiona Intro en el campo, se activará el envío del formulario y se activará el controlador de envío.
fuente
Puede agregar un controlador de eventos a su entrada de la siguiente manera:
fuente
Funciona cuando el tipo de entrada = "botón" se reemplaza con el tipo de entrada = "enviar" para el botón predeterminado que debe activarse.
fuente
En primer lugar, agregue el archivo de biblioteca jquery jquery y llámelo en su encabezado html.
y luego use código basado en jquery ...
fuente
Esto debería hacerlo, estoy usando jQuery, puedes escribir javascript simple.
Reemplace
sendMessage()
con su funcionalidad.fuente
Basado en algunas respuestas anteriores, se me ocurrió esto:
Eche un vistazo a Fiddle
EDITAR: Si no desea agregar elementos html adicionales, puede hacer esto solo con JS:
fuente
Encontré w3schools.com howto, su página de prueba está en la siguiente.
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_trigger_button_enter
Esto funcionó en mi navegador habitual pero no funcionó en mi aplicación php que usa el navegador php integrado.
Después de jugar un poco, se me ocurrió la siguiente alternativa de JavaScript puro que funciona para mi situación y debería funcionar en cualquier otra situación:
HTML Presione la tecla Intro dentro del cuadro de texto para activar el botón.
fuente
fuente
Estoy usando un botón de kendo. Esto funcionó para mí.
fuente