tecla presionar funcion evento ejecutar detectar dar con boton automatico apretar activar javascript jquery

javascript - presionar - evento al dar enter js



Detectar la tecla Intro en un campo de entrada de texto. (9)

Estoy tratando de hacer una función si se presiona enter mientras se está en una entrada específica.

¿Qué estoy haciendo mal?

$(document).keyup(function (e) { if ($(".input1").is(":focus") && (e.keyCode == 13)) { // Do something } });

¿Hay una mejor manera de hacer esto que diría, si se presiona enter en .input1 do function?


event.key === "Enter"

Más reciente y mucho más limpio: use event.key . No más códigos de números arbitrarios!

const node = document.getElementsByClassName(".input")[0]; node.addEventListener("keyup", function(event) { if (event.key === "Enter") { // Do work } });

Si debes usar jQuery:

$(document).keyup(function(event) { if ($(".input1").is(":focus") && event.key == "Enter") { // Do work } });

Mozilla Docs

Navegadores compatibles


Intenta esto para detectar la tecla Enter presionada en un cuadro de texto.

$(function(){ $(".input1").keyup(function (e) { if (e.which == 13) { // Enter key pressed } }); });


Intenta esto para detectar la tecla Enter presionada en un cuadro de texto.

$(document).on("keypress", "input", function(e){ if(e.which == 13){ alert("Enter key pressed"); } });

DEMO


La mejor manera que encontré es usando keydown (el keyup no funciona bien para mí).

Nota: También deshabilité el envío del formulario porque, por lo general, cuando le gusta realizar algunas acciones al presionar la tecla Enter, lo único que no le gusta es enviar el formulario :)

$(''input'').keydown( function( event ) { if ( event.which === 13 ) { // Do something // Disable sending the related form event.preventDefault(); return false; } });


La solución que me funciona es la siguiente.

$("#element").addEventListener("keyup", function(event) { if (event.key === "Enter") { // do something } });


Puede ser demasiado tarde para responder a esta pregunta. Pero el siguiente código simplemente evita la tecla enter. Simplemente copiar y pegar debería funcionar.

<script type="text/javascript"> function stopRKey(evt) { var evt = (evt) ? evt : ((event) ? event : null); var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null); if ((evt.keyCode == 13) && (node.type=="text")) {return false;} } document.onkeypress = stopRKey; </script>


$(document).ready(function () { $(".input1").keyup(function (e) { if (e.keyCode == 13) { // Do something } }); });


$(".input1").on(''keyup'', function (e) { if (e.keyCode == 13) { // Do something } }); //keyup not compatible with Jquery select(), Keydown is.


$(document).keyup(function (e) { if ($(".input1:focus") && (e.keyCode === 13)) { alert(''ya!'') } });

O simplemente enlazar a la entrada en sí

$(''.input1'').keyup(function (e) { if (e.keyCode === 13) { alert(''ya!'') } });

Para averiguar qué KeyCode necesita, use el sitio web http://keycode.info