Итак, простая вещь, которую я не знаю, как искать, нигде не смог получить ответ...
По сути, я использую XML для заполнения списка. Что происходит, так это то, что при нажатии на первый уровень li он добавляет все различные пригороды к дочернему ul. Это генерирует следующую структуру:
<li class="province-active" style="background-image: url("img/minus-icon-storefinder.png");">
<p>Gauteng</p>
<ul class="province-sub-menu">
<li class="province-sub-nav-item" data-suburb="Strijdom Park">Strijdom Park,Randburg</li>
<li class="province-sub-nav-item" data-suburb="Edenvale">Edenvale,Eastrand</li>
<li class="province-sub-nav-item" data-suburb="Strubens Valley">Strubens Valley,Roodepoort</li>
<li class="province-sub-nav-item" data-suburb="Centurion">Centurion,Pretoria</li>
</ul>
</li>
Хорошо, проблема в том, что с помощью приведенного ниже JQuery он сначала запускает событие click для «province-sub-nav-item», а затем запускает событие click для «province-active» (родительский li). Это JS, который я использую для детей.
$(document).on("click", ".province-sub-nav-item", function(e){
e.stopPropagation();
$shop = $(this).attr("data-suburb");
loadShop($shop);
});
И это функция для родительского li.
$(".province-active").click(function(e) {
$li = $(this);
$province = $li.children("p").text();
$(".store-locations").css("width", 375);
getMap($li, $province, 15);
});
В общем, мне просто нужно не запускать событие щелчка для «активной провинции» без запуска события щелчка для «активной провинции» и stopPropagation(); не работает.
Спасибо ребята.