2010-08-11 72 views
0

另一個元素jQuery不同的click()函數我有一個側邊欄面板,其中有兩個選項卡,單擊時切換下面的內容。在這些標籤<li>我有一個jQuery click()事件切換選項卡。請參閱screengrab什麼,我的意思是在我的網站上點擊()

alt text http://cci.epiphanydev2.co.uk/Home_1281538687319.png

這是所有工作的罰款,直到我們的設計師希望<li>內的RSS源鏈接,所以現在當我點擊RSS feed圖標,它正被重寫對於標籤的click()功能上<li>

我的jQuery到目前爲止如下:

//NEWS PANEL 
$("div.switch-tab div.listing-box").hide(); 
$(".news ul.tabs li:first").addClass("active").show(); 
$("div.switch-tab div.listing-box:first").show(); 

$(".news ul.tabs li").click(function() { 
    $(".news ul.tabs li").removeClass("active"); 
    $(this).addClass("active"); 
    $("div.switch-tab div.listing-box").hide(); 
    var activeTab = $(this).find("a").attr("href"); 
    $(activeTab).fadeIn(); 
    return false; 
}); 
// ATTEMPT TO OVERRIDE 
$(".news ul.tabs li a.feed").click(function() { 
    return true; 
}); 
//END NEWS PANEL 

任何想法,我怎樣才能避免這種情況發生?

回答

2

event.stopPropagation()是你在找什麼:http://api.jquery.com/event.stopPropagation/

你需要在事件傳遞,然後把event.stopPropagation()在您的Feed鏈接的點擊功能。所以,做這樣的事情:

// ATTEMPT TO OVERRIDE 
$(".news ul.tabs li a.feed").click(function(event) { 
    event.stopPropagation(); 
    return true; 
}); 

這將向上冒泡到包含父母停止點擊事件,你的情況,標籤<li>

在這裏看到一個演示:http://jsfiddle.net/kjdeG/

2

使用event.stopPropagation()

相關問題