Здравствуйте.
—
Кому не сложно, может быть подскажите пожалуйста.
Что именно нужно сделать, чтобы после работы события "onclick" при нажатие на любое другое место, данное событие отменялась.
Например:
Я нажал на кнопку, и сработал onclick - он был сделан для того, чтобы цвет текста изменился, допустим на "red".
И, после нажатие на другое любое место, он стал опять white (то есть, стандартным).
— P.S Идентичная ситуация, обычно бывает с :focus - в CSS. Но, нужно сделать в стиле JS.
button.onclick = function(e){
//меняем цвет
}
document.onclick = function(e){
if(e.target != button) //ставим другой цвет
}
Условия типа e.target.classList.contains() могут не срабатывать, если в кнопке есть картинка или другой элемент. Поэтому попробуйте еще e.target.closest('СЕЛЕКТОР КНОПКИ') в условиях.
Делегирование. Вешаете на документ\область обработчик клика, проверяете есть в ли месте клика нужный класс - делаете свои делишки, если нету - делаете другие делишки.
//внутри функции onclick
if (event.target.classList.contains('нужный класс')){
...
} else { ... }