Обработчик кликов.
Всем привет.
Есть обычное меню. <ul id="sidebar"> <li>Text</li> <li>Text</li> </ul> По клику через ajax загружаю подкатегории. вставляю <ul id="sidebar"> <li>Text <ul class="sub_sidebar"> <li>Text</li> <li>Text</li> </ul> </li> <li>Text</li> </ul> Проблема в том что даже добавив обработчик : $('.sub_sidebar').live( "click", function() { e.preventDefault(); console.log('link'); e.stopPropagation(); }); первым срабатывает обработчик на $('#sidebar > li').click(function(e){ и как не кручу немогу никак сделать так что бы обрабатывался первым вновьдобавленный элемент. |
у тебя должно ругаться что нет переменной e
делай так $('.sub_sidebar').live( "click", function(e) { |
$('#sidebar').on('click', 'li', function(e){ e.preventDefault() ; $('.sub_sidebar').on('click', 'li', function(e){ e.preventDefault(); e.stopPropagation(); console.log('sub_sidebar'); }) Аналогичная х... Короче все время срабатывает обработчик #sidebar ! как узнать что клик был не по нему? |
фильтруй через event.target
|
короче все решилось не просто но решилось.
|
Duda.Ml1986@gmail.com, .live - deprecated-метод. А с версии 1.9 - выпилен. Ну и нафига писать код, который не позволит обновить jQ?
|
Часовой пояс GMT +3, время: 01:09. |