O elemento ContentEditable não reage nas teclas de atalho
Estou desenvolvendo uma extensão do Chrome que injeta código JS em todas as guias abertas. A tarefa deste código inclui a exibição de uma caixa de texto, implementada como umcontentEditable
<div>
para permitir a formatação. No entanto, ocontentEditable
elemento não funciona bem em alguns sites, por exemplo Twitter.
Tente você mesmo:
Vamos paratwitter.comColarjavascript:document.body.setAttribute('contentEditable', true);
na barra de endereço e pressione enter.Clique em qualquer lugar do documento - agora você poderá editar o texto.Tente digitar umj
ouk
. Você verá: O personagem não aparece; a seleção é movida (um tweet na lista será destacado).Eu tentei muito descobrir como a navegação pelo teclado do Twitter é implementada, mas não consegui encontrar nenhuma dica. Você pode me dar algumas dicas sobre como resolver esse problema (e evitar problemas semelhantes em outros sites)?
O uso de um iFrame para a entrada aciona outros bugs muito estranhos, por isso quero evitar isso se for possível.