2010-08-11 73 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()

相关问题