Отключить onclick для дочернего элемента | JavaScript

<style>
#raz {
  height: 25em;
  background: blue;
}
#raz div {
  height: 10em;
  background: green;
}
</style>

<div id="raz"><div></div></div>

<script>
var raz = document.getElementById('raz');
raz.onclick = function(event) {
  event = event || window.event; // window.event для IE ниже 8 версии
  var t = event.target || event.srcElement; // srcElement для IE ниже 8 версии
  if (t != this) { return true; }
  alert("скрипт сработал");
}
</script>

Краткое написание:

<script>
document.getElementById('raz').onclick = function(e) {
  if (e.target != this) { return true; }
  alert("скрипт сработал");
}
</script>

onclick родителя работает на всех внутренних элементах, кроме определённого тега (писать прописными буквами):

<script>
document.getElementById('raz').onclick = function(e) {
  if (e.target.nodeName.toUpperCase() == 'A') { return true; }
  alert("скрипт сработал");
}
</script>
в f t
наверх ↑

2 комментария:

Виталий
Спасибо тебе, автор блога. Узнал много нового и интересного!
NMitra
Пожалуйста, Виталий