https://jsfiddle.net/6s2L4j0y/у меня квадрат с цифрой исчезает при нажатии на любую область, т.е. даже в ту которая у вас на гифке выше. в чем проблема то?
вешается событие кликсобытие не может вешаться, вешается слушатель события, и когда оно(событие) генерируется, слушатель запускает обработчик-функцию и передает в неё объект события
метод targettarget это не метод, а ссылка на элемент, который сгенерировал событие или как вы сказали
источник(ребенка документа) на котором произошел клик
и вот последняя стока загадкапереписать можно вот так
if (target === button) {
toggle();
return;
}
if (target !== block) {
remove();
return;
}
false я написал потому, что такая конструкция должна всегда что-то возвращать в обоих случаях, нельзя написать a === 1 ? b;
- будет ошибка, нужно так a === 1 ? b : c;
. в данном случае вместо false можно что угодно написать, для конкретно этого примера это не важно подробнее здесь.block
могут находится вложенные элементы, если это так, то вам нужно в обработчике игнорировать клики на детей .block