Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2014, 16:11
Аватар для Duda.Ml1986@gmail.com
Профессор
Отправить личное сообщение для Duda.Ml1986@gmail.com Посмотреть профиль Найти все сообщения от Duda.Ml1986@gmail.com
 
Регистрация: 01.09.2011
Сообщений: 263

Перекрытие события родительского элемента.
Всем привет.

Есть меню типа :

<ul class='1'>
  <li>
    <ul class='2'>
      <li></li>
      <li></li>
      <li></li>
    </ul>
  </li>
  <li></li>
  <li></li>
</ul>


При клике на пункт li в меню class='1'

=> открывается подменю class='2' и в него вставляется

$(this).find('ul.head_menu_three_level').prepend("<div id='back'><h1>Что то </h1></div>");


Итого:

<ul class='1'>
  <li>
    <ul class='2'>
      <div id='back'><h1>Что то </h1></div>
      <li></li>
      <li></li>
      <li></li>
    </ul>
  </li>
  <li></li>
  <li></li>
</ul>




Существует обработчик для li class='2'

Как я не пробовал писать обработчик клика по back

$('.1 > li > ul.2 > #back').on('click', function(e) {
        e.preventDefault();
        e.stopPropagation();
        alert();
    })

 $('#back').on('click', function(e) {
        e.preventDefault();
        e.stopPropagation();
        alert();
    })


и еще много варианта, обработчик клика по li class='2' перекрывает его.

$('.2 > li').on('click', function(e){
        e.preventDefault();
        e.stopPropagation();
.....



Как получить клик?
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2014, 16:45
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,268

Сообщение от Duda.Ml1986@gmail.com
Как получить клик?
Как вариант:
- вешать обработчик на материнский элемент
- при клике смотреть на каком элементе он выполнен
- делать соответствующие выводы
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2014, 07:58
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Можно впрочем использовать не навешивание обработчика а <li onclick="myFunction()">
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить класс родительского элемента STyLe Общие вопросы Javascript 1 29.05.2014 20:21
Убрать наследование return false от родительского элемента GBelka jQuery 7 02.09.2012 09:51
запретить срабатывание события дочернего элемента, при перемещении родительского Danil jQuery 4 09.10.2011 10:53
Изменение стиля родительского элемента при :hover дочернего lanzs Элементы интерфейса 2 16.10.2010 13:28
Обработка события элемента внутри создавшего его объекта pauluss Общие вопросы Javascript 10 10.09.2010 17:01