Показать сообщение отдельно
  #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();
.....



Как получить клик?
Ответить с цитированием