单击事件调用未引用的函数

时间:2013-07-25 21:20:23

标签: javascript jquery

就本文而言,请参阅位于http://jsfiddle.net/ca7ws/

的JSFiddle

这是我的菜单。单击最后3个(评分/历史/管理)中的一个将显示子菜单。单击子菜单上的链接将添加“selectedMenu”类。它看起来好像没有。

通过向每个函数添加alert(“someText”),我注意到

JQuery(".menuLinksSub li").click(function(){ 

被称为

jQuery(".menuCategory").click(function(){ 

也被称为。

因此,课程被添加,然后立即被带走,看起来根本没有工作。

我最初的想法是它是NAV和UL行为所固有的,所以我甚至在我的HTML中删除所有NAV / UL / LI标签并用DIV / SPAN替换它们但无济于事。行为是一样的。

我已经尝试了很多而且很难过。我们将非常感谢您提供的任何帮助。

谢谢, Shadraq

1 个答案:

答案 0 :(得分:4)

正如大多数活动所做的那样,事件正在通过DOM向上冒泡。你必须从内部事件处理程序中停止它:

jQuery(".menuLinksSub li").click(function(e){
    e.stopPropagation();
    // ... your logic
}); 

http://jsfiddle.net/ca7ws/1/