Como faço para acionar algo quando o cursor está dentro de TEXTAREA e Ctrl+ Enteré pressionado? Usando jQuery . obrigado
javascript
jquery
html
hotkeys
HP.
fonte
fonte
Respostas:
Você pode usar o
event.ctrlKey
sinalizador para ver se a Ctrltecla está pressionada, algo assim:Verifique o snippet acima aqui .
fonte
10
, não13
.keypress
evento, o código-chave será 10, maskeydown
oukeyup
reportará 13. Apenas teste cromoNa verdade, este faz o truque e funciona em todos os navegadores:
Link para js fiddle .
Notas:
keyCode
10, não 13 ( relatório de bug ). Portanto, precisamos verificar qualquer um.ctrlKey
está controlno Windows, Linux e macOS (não command). Veja tambémmetaKey
.fonte
ctrlKey
corresponde à tecla Command em Macs?if ((e.keyCode == 10 || e.keyCode == 13) && (e.ctrlKey || e.metaKey))
Solução universal
Isso também oferece suporte ao macOS: Ctrl+ Entere ⌘ Command+ Enterserão aceitos.
fonte
e.ctrlKey
detecta⌃ Control
ee.metaKey
detecta⌘ Command
. Use-o se quiser que Ctrl-Enter e Command-Enter acionem o comportamento.e.keyCode
de10
para significar Enter além de13
? A documentação MDNkeyCode
lista apenas13
como um valor possível para Enter, testado em vários navegadores e sistemas operacionais.Eu encontrei respostas de outras pessoas incompletas ou incompatíveis entre navegadores.
Este código funciona no Google Chrome.
fonte
Isso pode ser estendido para um plug-in JQuery simples, mas flexível, como em:
portanto
deve enviar um formulário quando o usuário pressiona ctrl-enter com foco na área de texto desse formulário.
(Com agradecimentos a https://stackoverflow.com/a/9964945/1017546 )
fonte
fonte
primeiro você tem que definir um sinalizador quando Ctrlé pressionado, faça isso onkeydown. então você tem que verificar a tecla de enter. desmarque a bandeira quando vir uma chave para Ctrl.
fonte
Talvez um pouco tarde para o jogo, mas aqui está o que eu uso. Também forçará o envio do formulário que é o destino atual do cursor.
fonte
if
…else if
” para um únicoif (e.ctrlKey && (e.keyCode == 10 || e.keyCode == 13))
.