Деактивиране на събития от клавиатурата при използване на textArea

Уебсайтът ми е предназначен за навигация чрез натискане на бутони на клавиатурата: enter, \, +, -, и т.н... Проблемът ми е, че имам textAreas и когато натисна тези бутони, ако textArea е избрано, въвеждането и бутоните работят едновременно.

Мислех, че най-добрият начин да подходя към този проблем е да използвам някакво булево значение. Опитах се да използвам if(!x.hasFocus()){ allow buttons to be used}, но тази булева стойност се отнася само за целия документ, а не за конкретни текстови области.

И така, как да деактивирам слушателите на събития за натискания на клавиатурата само когато потребителят в момента има достъп до textArea?

Искам потребителят да може да използва enter, \, +, -, когато използва textArea, но след като textArea не се използва, тези бутони трябва да изпълняват определени функции, които използвам addEventListener("keyup", function(){...});


person joe55460    schedule 19.07.2017    source източник
comment
Може да искате да разгледате event.stopPropagation(). Използва се по такъв начин, че събитието да спре да се появява, когато достигне елемента textArea.   -  person Joao Delgado    schedule 19.07.2017
comment
Разбрах, че мога да използвам изрази if, докато проверявам document.activeElement.tagNames === TEXTAREA   -  person joe55460    schedule 19.07.2017