我有两个同名的div。第一个包含用户可以单击以转到新页面的链接,以及一个下拉箭头以打开包含更多锚标签的下一个div。看起来像这样:
<div class="container-div">
<a class="link-1">Men</a>
<span class="dropdown-arrow"></span>
</div>
<div class="container-div">
<a class="link-2">Featured</a>
<a class="link-2">Sale</a>
</div>
现在,当用户单击span.dropdown-arrow时,第二个容器div打开,显示.link-2链接。当用户单击Men链接(a.link-1)时,它还会打开第二个容器div,并将用户带到新页面。我想要这样,以便当用户单击“ .link-1”时,第二个容器div不打开(保持为display:none)。
这是我的jQuery:
function mobileMainNav(){
$('a.link-1').click(function(){
window.location = $(this).attr('href');
});
$('a.link-1').click(function(){
var showNone = $(this).parent().next('div.container-div').css('display', 'none');
console.log(showNone);
});
};
此功能的第一部分起作用,将用户带到新窗口。但是第二部分根本不起作用,控制台中也没有任何记录。我在做什么错了?
答案 0 :(得分:0)
因此,请调用stopImmediatePropagation,但只有在事件以正确的顺序附加时,它才起作用。
$("button").on("click", function (e) {
console.log(1);
e.stopImmediatePropagation()
});
$("button").on("click", function (e) {
console.log(2);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>a</button>