Portanto, o código que tenho até agora é:
<fieldset id="LinkList">
<input type="text" id="addLinks" name="addLinks" value="http://">
<input type="button" id="linkadd" name="linkadd" value="add">
</fieldset>
Não está em a <form>
e é exatamente como está em a <div>
. No entanto, quando eu digito algo no textbox
chamado "addLinks", quero que o usuário possa pressionar Enter e acionar o "linkadd", button
que executará uma função JavaScript.
Como posso fazer isso?
obrigado
Edit: encontrei este código, mas não parece funcionar.
$("#addLinks").keyup(function(event){
if(event.keyCode == 13){
$("#linkadd").click();
}
});
keypress
e verificare.charCode==13
(botão entrar).keypress
oukeydown
mencionou nesta resposta são o caminho a percorrer.Respostas:
fonte
É …… 2020. E eu acredito que isso ainda é verdade.
NÃO USE
keypress
keypress
evento é não acionado quando o usuário pressiona uma tecla que não produz qualquer personagem , como Tab, Caps Lock, Delete, Backspace, Escape, esquerda e direita Shift, teclas de função ( F1- F12).Foi descontinuado.
NÃO USE
KeyboardEvent.keyCode
O que devo usar então? (A boa prática)
fonte
if (event.key == "Enter") { document.querySelector("#linkadd").click(); }
:?.key
não é compatível com todos os navegadores: caniuse.com/#feat=keyboardevent-key - cerca de 10% das pessoas usam navegadores que não o suportam.Existe uma solução livre de js.
Defina
type=submit
o botão que você deseja que seja o padrão etype=button
outros botões. Agora, no formulário abaixo, você pode clicar em Enter em qualquer campo de entrada e oRender
botão funcionará (apesar de ser o segundo botão do formulário).Exemplo:
Testado em FF24 e Chrome 35 (
formaction
é um recurso html5, mastype
não é).fonte
button
por umsubmit
submit
manipulador do formulário, não aoclick
manipulador do botãoPressionar enter no campo acionará o envio do formulário e o manipulador de envio será acionado.
fonte
Você pode adicionar um manipulador de eventos à sua entrada, assim:
fonte
Funciona quando input type = "button" é substituído por input type = "submit" para o botão padrão que precisa ser acionado.
fonte
Em primeiro lugar, adicione o arquivo de biblioteca jquery jquery e chame-o em seu cabeçalho html.
e use o código baseado em jquery ...
fonte
Isso deve bastar, estou usando jQuery, você pode escrever javascript simples.
Substitua
sendMessage()
pela sua funcionalidade.fonte
Com base em algumas respostas anteriores, cheguei a esta conclusão:
Dê uma olhada no Fiddle
EDITAR: Se você não quiser adicionar elementos html adicionais, você pode fazer isso apenas com JS:
fonte
Encontrei o howto do w3schools.com, a página de teste deles está no seguinte.
https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_trigger_button_enter
Isso funcionou no meu navegador normal, mas não funcionou no meu aplicativo de php que usa o navegador de php embutido.
Depois de brincar um pouco, descobri a seguinte alternativa de JavaScript puro que funciona para minha situação e deve funcionar em todas as outras situações:
HTML Pressione a tecla Enter dentro da caixa de texto para ativar o botão.
fonte
fonte
Estou usando um botão de kendo. Isso funcionou para mim.
fonte