Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Ошибка при onclick (https://javascript.ru/forum/events/63950-oshibka-pri-onclick.html)

ureech 10.07.2016 19:58

Ошибка при onclick
 
Всем привет.Привожу упрощённый html код, так как в реальности пункты выводятся в смарт шаблоне в зависимости от уровней вложенности.
<ul id="cats">1
<li class="cats" data="1">1.2
<ul id="subcats">
<li class="subcats" data="2">2.1</li>
</ul>
</li></ul>


$('ul#subcats .subcats').on('click',function(){
var id = this.getAttribute('data');
location.href='/board/'+id;
})
$('#cats .cats').on('click',function(){
var id = this.getAttribute('data');
location.href='/board/'+id;
})


В итоге, выбирая подкатегорию, всё равно открывает категорию.Но если включаю проверку, прописывая перед location.href='/board/'+id; alert(id), то после алерта срабатывает как надо.
Подскажите как поправить.

рони 10.07.2016 20:37

ureech,
Цитата:

Сообщение от ureech
Регистрация: 11.03.2013

то что клик всплывает выше по DOM из подкатегории в категорию, согласно вашей структуре, никак не запомнить, что нужно отменить всплытие?
$('ul#subcats .subcats').on('click',function(event){event.stopPropagation();

прекращение-всплытия

ureech 10.07.2016 21:20

рони,
Благодарю, как то не сталкивался с этими всплытиями.:)


Часовой пояс GMT +3, время: 14:31.