Estou tentando fazer uma função se enter for pressionado enquanto estiver em uma entrada específica.
O que estou fazendo de errado?
$(document).keyup(function (e) {
if ($(".input1").is(":focus") && (e.keyCode == 13)) {
// Do something
}
});
Existe uma maneira melhor de fazer isso que diria, se enter pressionado em .input1
do function?
javascript
jquery
jQuerybeast
fonte
fonte
Respostas:
fonte
event.keyCode
é umNumber
, então o JavaScript seguirá as mesmas etapas com==
ou===
.which
,code
,charCode
ekeyCode
está obsoleta developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent , adicione informações reais para a sua resposta.event.key === "Enter"
Mais recente e muito mais limpo: use
event.key
. Chega de códigos numéricos arbitrários!Se você deve usar o jQuery:
Documentos do Mozilla
Navegadores suportados
fonte
Ou apenas vincule à própria entrada
Para descobrir qual código de chave você precisa, use o site http://keycode.info
fonte
Tente isso para detectar a
Enter
tecla pressionada em uma caixa de texto.fonte
Pode ser tarde demais para responder a essa pergunta. Mas o código a seguir simplesmente impede a tecla Enter. Basta copiar e colar deve funcionar.
fonte
A melhor maneira que eu encontrei é usar
keydown
(okeyup
não funciona bem para mim).Nota: Eu também desabilitei o envio do formulário, porque geralmente quando você gosta de executar algumas ações ao pressionar a tecla Enter, o único que você não gosta é enviar o formulário :)
fonte
A solução que funciona para mim é a seguinte
fonte
Tente isso para detectar a tecla Enter pressionada em uma caixa de texto.
DEMO
fonte
fonte
Esse código tratou de todas as entradas para mim em todo o site. Ele verifica a tecla ENTER dentro de um campo INPUT e não para na TEXTAREA ou em outros locais.
fonte