Dezactivarea evenimentelor de la tastatură atunci când utilizați o textArea

Site-ul meu este menit să fie navigat prin apăsarea butoanelor de pe tastatură: enter, \, +, -, etc... Problema mea este că am textAreas, iar când apăs pe aceste butoane, dacă textArea este selectată, tastarea și butoanele funcționează în același timp.

M-am gândit că cel mai bun mod de a aborda această problemă ar fi să folosesc un fel de boolean. Am încercat să folosesc if(!x.hasFocus()){ allow buttons to be used}, dar acest boolean se aplică doar întregului document și nu anumitor zone de text.

Deci, cum dezactivez ascultătorii de evenimente pentru apăsările de la tastatură numai atunci când un textArea este în prezent accesat de utilizator?

Doresc ca utilizatorul să poată folosi enter, \, +, - când folosește textArea, dar odată ce textArea nu este folosită, aceste butoane ar trebui să facă anumite funcții, pe care le folosesc addEventListener("keyup", function(){...});


person joe55460    schedule 19.07.2017    source sursă
comment
Poate doriți să căutați event.stopPropagation(). Utilizarea este în așa fel încât evenimentul să înceteze să apară pe el să ajungă la elementul textArea.   -  person Joao Delgado    schedule 19.07.2017
comment
Mi-am dat seama că pot folosi instrucțiuni if ​​în timp ce verific document.activeElement.tagNames === TEXTAREA   -  person joe55460    schedule 19.07.2017