我有一個<nav>
,我想通過點擊一個句柄鏈接來打開和關閉。我還想在點擊其中一個子鏈接時關閉<nav>
。使用slideToggle
處理鏈接和孩子都不起作用。處理鏈接工作得很好,但當您點擊子鏈接時,<nav>
會崩潰並打開備份。slideToggle:通過點擊一個孩子鏈接隱藏父母
什麼的jsfiddle回事: http://jsfiddle.net/qHZe8/
提前感謝!
我有一個<nav>
,我想通過點擊一個句柄鏈接來打開和關閉。我還想在點擊其中一個子鏈接時關閉<nav>
。使用slideToggle
處理鏈接和孩子都不起作用。處理鏈接工作得很好,但當您點擊子鏈接時,<nav>
會崩潰並打開備份。slideToggle:通過點擊一個孩子鏈接隱藏父母
什麼的jsfiddle回事: http://jsfiddle.net/qHZe8/
提前感謝!
問題是你有兩個元素pull
。
一個可能的解決方案是使用不同的選擇:
jQuery("a.pull").click(function() {
$("nav.mobile-navigation").slideToggle("fast");
});
你<ul>
元素也有類pull
,所以點擊裏面的鏈接之一,也是射擊關閉click
事件處理程序以再次切換元素。
您需要停止從<ul>
內部鏈接傳播的事件,以免發生這種情況。
jQuery("ul.pull li a").click(function(e) {
e.stopPropagation();
$("nav.mobile-navigation").slideUp("fast");
});
你給了相同的CSS類(.pull
)到<ul>
和手柄都。因此,單擊這些項目也會註冊爲.pull
處理程序的點擊。正確的一個:http://jsfiddle.net/X2A3C/