Eu gostaria de poder usar o Tab tecla dentro de uma caixa de texto para tabular quatro espaços. Do jeito que está agora, a tecla Tab salta meu cursor para a próxima entrada.
Existe algum JavaScript que irá capturar a tecla Tab na caixa de texto antes de aparecer na IU?
Eu entendo que alguns navegadores (ou seja, FireFox) podem não permitir isso. Que tal uma combinação de teclas personalizada como Shift+ Tabou Ctrl+ Q?
javascript
user-interface
Seibar
fonte
fonte
Respostas:
Mesmo se você capturar o evento
keydown
/keyup
, esses são os únicos eventos que a tecla tab dispara, você ainda precisa de alguma forma para evitar que a ação padrão, passando para o próximo item na ordem das guias, ocorra.No Firefox, você pode chamar o
preventDefault()
método no objeto de evento passado ao seu manipulador de eventos. No IE, você deve retornar false do identificador de eventos. A biblioteca JQuery fornece umpreventDefault
método em seu objeto de evento que funciona no IE e FF.fonte
keycode
8
?Prefiro que o recuo da tabulação não funcione do que quebrar a tabulação entre os itens do formulário.
Se você quiser recuar para inserir o código na caixa Markdown, use Ctrl+ K(ou ⌘K em um Mac).
Em termos de realmente interromper a ação, o jQuery (que o Stack Overflow usa) interromperá o borbulhamento de um evento quando você retornar false de um retorno de chamada de evento. Isso torna a vida mais fácil para trabalhar com vários navegadores.
fonte
A resposta anterior é boa, mas eu sou um daqueles caras que é firmemente contra misturar comportamento com apresentação (colocar JavaScript em meu HTML), então prefiro colocar minha lógica de tratamento de eventos em meus arquivos JavaScript. Além disso, nem todos os navegadores implementam evento (ou e) da mesma maneira. Você pode querer fazer uma verificação antes de executar qualquer lógica:
fonte
Aconselho a não alterar o comportamento padrão de uma chave. Eu faço o máximo possível sem tocar no mouse, então se você fizer minha tecla tab não mover para o próximo campo em um formulário, eu ficarei muito irritado.
Uma tecla de atalho pode ser útil, no entanto, especialmente com grandes blocos de código e aninhamento. Shift-TAB é uma opção ruim porque normalmente me leva para o campo anterior em um formulário. Talvez um novo botão no editor de WMD para inserir um código-TAB, com uma tecla de atalho, seja possível?
fonte
há um problema na melhor resposta dada por ScottKoon
aqui está
Deveria estar
Devido a isso, não funcionou no IE. Esperando que ScottKoon atualize o código
fonte
No Chrome no Mac, alt-tab insere um caractere de tabulação em um
<textarea>
campo.Aqui está um: . Wee!
fonte