Не могу понять, почему клик не срабатывает именно на body. если бы была ошибка, то и при клике на block тоже бы не работало...
var bodyClick = document.body;
var wrapper = document.getElementById('wrapper');
bodyClick.style.backgroundColor = 'yellow';
wrapper.addEventListener('click', function() {
wrapper.style.backgroundColor =
(wrapper.style.backgroundColor !== 'red') ?
wrapper.style.backgroundColor = 'red' :
wrapper.style.backgroundColor = 'white';
})
bodyClick.addEventListener('click', function() {
bodyClick.style.backgroundColor =
(bodyClick.style.backgroundColor !== 'yellow') ?
bodyClick.style.backgroundColor = 'yellow' :
bodyClick.style.backgroundColor = 'green';
})
<div id="wrapper">Block</div>
Скрипт правильный, а вот размер body - нет. Добавил css:
var bodyClick = document.body;
var wrapper = document.getElementById('wrapper');
bodyClick.style.backgroundColor = 'yellow';
wrapper.addEventListener('click', function() {
wrapper.style.backgroundColor =
(wrapper.style.backgroundColor !== 'red') ?
wrapper.style.backgroundColor = 'red' :
wrapper.style.backgroundColor = 'white';
})
bodyClick.addEventListener('click', function() {
bodyClick.style.backgroundColor =
(bodyClick.style.backgroundColor !== 'yellow') ?
bodyClick.style.backgroundColor = 'yellow' :
bodyClick.style.backgroundColor = 'green';
})
html {
height: 100%;
}
body {
min-height: 100%;
margin: 0;
padding: 8px;
box-sizing: border-box;
}
<div id="wrapper">Block</div>
Сборка персонального компьютера от Artline: умный выбор для современных пользователей