Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Событие onclick на div, кроме элементов внутри него (https://javascript.ru/forum/misc/32133-sobytie-onclick-na-div-krome-ehlementov-vnutri-nego.html)

klev2004 04.10.2012 14:06

Событие onclick на div, кроме элементов внутри него
 
Есть скрипт, который по клику на div с классом .notification должен открывать всплывающее окно (отменить/закрыть):

$(document).ready(function(){
    $('.notification').click(function(){
...
    }
}


Внутри этого <div class="notification"> есть форма с чекбоксами, инпутами, кнопками, таким образом реализован опрос на сайте.

Проблема в том, что при клике на объекты формы - вызывается всплывающее окно, а должно вызываться только в случае, если клик был осуществлен на пустом месте (на родительском <div class="notification">).

Помогите фильтровать клик только по div'у.

DimaJS 04.10.2012 15:21

лови :D
<div id="id" style="background-color:red">
Я текст дива по клику которого вызывается алерт
   <div>
    А я текст внутреннего дива по клику которого алерт не вызывается
   </div>
   <input type="text">
   <input type="checkbox";
</div>
<script>
var div = document.getElementById("id");
div.onclick = function (e) {
  var e = e || window.event;
  var target = e.target || e.srcElement;
  if (this == target) alert("Вместо меня должно стоять модальное окно");
}
</script>

klev2004 04.10.2012 15:28

DimaJS, спасибо! Идею понял. Сейчас попробую перенести на сайт.
UPD:
Получилось. Еще раз спасибо!

DimaJS 04.10.2012 20:33

klev2004,
незачто :)


Часовой пояс GMT +3, время: 03:21.