Pergunta: Pressione a tecla Enter ao inserir texto no método de entrada chinês; O evento KeyUp de ligação inserirá o texto em inglês no método de entrada na caixa de texto e tocará diretamente no botão Enviar
Eventos de teclado:
Quando uma tecla é pressionada ou liberada, três eventos do teclado podem ser acionados em cada navegador
keydown
KeyPress
keyUp
O evento KeyDown ocorre quando a tecla é pressionada, o KeyPress é acionado. O evento KeyUp é acionado quando a chave é lançada.
Método de entrada chinesa:
FIRFOX: TIGADOR DE ENTRADA KEYDOWN, Digite Confirmar KeyUp de Trigger de entrada
Chrome: a entrada aciona KeyDown e KeyUp, digite para confirmar que a entrada apenas aciona KeyDown
IE: a entrada aciona KeyDown e KeyUp, digite para confirmar os gatilhos de entrada keydown, keyup
Safari: entrada de gatilho de entrada e keyUp, digite para confirmar a entrada de gatilho de entrada, keyup
Ópera: entrada de gatilho de entrada e keyup, digite para confirmar a entrada de gatilho de entrada, keyup
Em entrada e textarea, quando no método de entrada chinês: nenhum evento de KeyPress é acionado
Evento KeyPress: O suporte ao método de entrada chinês é ruim e não pode responder à entrada chinesa; não pode responder às chaves da função do sistema
Código HTML:
<texttarea name = "" id = "text" cols = "30" linhas = "5"> </sexttarea> <script type = "text/javascript"> var text = document.getElementById ('text'); text.onKeydown = function (e) {console.log ('keydown'); if (e.KeyCode == 13) {console.log ('keydown enter send'); } console.log ('value', text.value); } text.onkeypress = function (e) {console.log ('keypress'); console.log ('value', text.value); } text.onKeyup = function (e) {console.log ('keyup'); if (e.KeyCode == 13) {console.log ('keyup enter send'); } console.log ('value', text.value); } </script>Método de entrada em inglês:
A figura acima mostra a conclusão:
KeyDown e KeyPress acontecem quando o texto não foi digitado na caixa de entrada. Se a caixa de texto for emitida nos eventos keydown e keypress, o texto na caixa de texto antes do evento do teclado será acionado;
Quando o evento KeyUp é acionado, a operação da entrada de texto em todo o evento do teclado foi concluída e o que é obtido é o conteúdo do texto após o acionamento do evento do teclado.
Método de entrada chinesa: [nenhum evento KeyPress]
Depois de pressionar a tecla Enter para confirmar:
O método de entrada chinês pressiona a tecla Enter quando a entrada não é determinada. O efeito de KeyDown e KeyUp é diferente. O KeyDown não acionará o evento predefinido Enter Method.
responder:
A maioria dos métodos de entrada preenche o processo de entrada no KeyDown; portanto, se o envio de entrada estiver no evento KeyUp, a tecla de entrada será enviada diretamente para a chave de entrada e a chave de entrada será enviada, resultando em problemas de conflito.
Método: Altere o evento de envio de entrada para KeyDown. No momento, quando o evento KeyDown ocorre, ele está no método de entrada e não ocorrerá no evento de envio da caixa de envio, resolvendo assim o conflito.
Algumas dicas:
Depois que o KeyDown é acionado, o KeyUp não pode ser acionado. Quando o KeyDown é pressionado e arraste o mouse, o evento KeyUp não será acionado.
O KeyPress é usado principalmente para capturar caracteres ANSI, exceto F1-12, Shift, Alt, Ctrl, Inserir, Casa, PGUP, Excluir, Fim, PGDN, Scrolllock, Pausar, Numlock, { Key Menu .
KeyDown e KeyUp geralmente podem capturar todas as chaves no teclado, exceto prscrn
Keypress pode capturar apenas caracteres únicos
KeyDown e KeyUp podem capturar combinações de chaves.
KeyPress captura o caso de um único personagem
KeyDown e KeyUp são um valor para o KeyValue capturado por um único caractere, o que significa que o caso de um único caractere não pode ser julgado.
O KeyPress não distingue entre caracteres numéricos do teclado primário.
KeyDown e KeyUp distinguem caracteres numéricos do teclado primário.
Entre eles, o keypress do PRSCRN Keys, KeyDown e KeyUp não podem ser capturados.
Ao usar o teclado, você geralmente usa a função de combinação de teclas semelhante ao Ctrl+Shift+Alt.
O artigo acima sobre a resolução de conflitos do método de entrada e a chave de atalho para enviar mensagem é todo o conteúdo compartilhado pelo editor. Espero que possa lhe dar uma referência e espero que você possa apoiar mais o wulin.com.