Обработчик кликов.
Всем привет.
Есть обычное меню. <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, время: 13:37. |