Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.01.2015, 22:21
Аватар для voodoo_dn
Интересующийся
Отправить личное сообщение для voodoo_dn Посмотреть профиль Найти все сообщения от voodoo_dn
 
Регистрация: 17.12.2014
Сообщений: 11

Обработка клика только по контейнеру
Доброе время суток.

Задача состоит в следующем: мне надо обрабатывать клик, только по контейнеру.
Контейнер - обычный div. В нём есть элементы, кнопки, изображения и т.п. Но если обрабатывать нажатие на контейнере, то событие вызывается даже если я нажал на кнопку, а не контейнер. Это нормально, но как обойти?

<div id="container">
<a id="button1">1</a>
<a id="button2">2</a>
<a id="button3">3</a>
</div>


$('#container').click(function(){
alert();
});


В общем, событие должно воспроизводиться всегда, когда есть клик по контейнеру, но кроме попаданий на ссылки или другие элементы.
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2015, 22:35
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Очевидно же, сравнить по каким-то параметрам

<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<div id="container">
<br>
<a id="button1">1</a><br>
<a id="button2">2</a><br>
<a id="button3">3</a>
</div>
  <script>
    $("#container").click(function(e) {
      if (e.target.id == 'container') {
        alert('Попался');
      }
    });
  </script>
Ответить с цитированием
  #3 (permalink)  
Старый 02.01.2015, 22:54
Аватар для voodoo_dn
Интересующийся
Отправить личное сообщение для voodoo_dn Посмотреть профиль Найти все сообщения от voodoo_dn
 
Регистрация: 17.12.2014
Сообщений: 11

Благодарю
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2015, 12:03
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

так думаю получше будет
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<style>
#container {
	border: solid 1px green;
}
#container a {
	background: #666;
}
</style>
<div id="container">
<br>
<a id="button1">1</a><br>
<a id="button2">2</a><br>
<a id="button3">3</a>
</div>
  <script>
    $("#container").click(function(e) {
      if (e.target == this) {
        alert('Попался');
      }
    });
  </script>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как правильно вызвать функцию только по success? imedia Элементы интерфейса 9 22.09.2014 08:43
submit только после второго клика OldBob Общие вопросы Javascript 5 17.04.2014 17:02
Обработка клика для подгружаемых эелементов xilo Events/DOM/Window 1 04.03.2014 21:14
Динамическое создание списка <select> и обработка события двойного клика Kitana Элементы интерфейса 2 03.09.2011 17:23
Решение задания: супер обработка клика pavluxa09 Events/DOM/Window 19 08.01.2010 14:54