Désactivation des événements de clavier lors de l'utilisation d'un textArea

Mon site Web est destiné à être parcouru en appuyant sur les boutons du clavier : enter, \, +, -, etc... Mon problème est que j'ai des zones de texte, et lorsque j'appuie sur ces boutons, si la zone de texte est sélectionnée, la saisie et les boutons fonctionnent en même temps.

J'ai pensé que la meilleure façon d'aborder ce problème serait d'utiliser une sorte de booléen. J'ai essayé d'utiliser if(!x.hasFocus()){ allow buttons to be used}, mais ce booléen ne s'applique qu'à l'ensemble du document et non à des zones de texte spécifiques.

Alors, comment puis-je désactiver les écouteurs d'événements pour les pressions sur le clavier uniquement lorsque l'utilisateur accède actuellement à une zone de texte ?

Je veux que l'utilisateur puisse utiliser enter, \, +, - lors de l'utilisation de textArea, mais une fois que textArea n'est pas utilisé, ces boutons devraient remplir certaines fonctions, que j'utilise addEventListener("keyup", function(){...});


person joe55460    schedule 19.07.2017    source source
comment
Vous voudrez peut-être consulter event.stopPropagation(). L'utilisation est faite de telle manière que l'événement cesse de bouillonner lorsqu'il atteint l'élément textArea.   -  person Joao Delgado    schedule 19.07.2017
comment
J'ai réalisé que je pouvais utiliser les instructions if lors de la vérification de document.activeElement.tagNames === TEXTAREA   -  person joe55460    schedule 19.07.2017