Jquery子元素链接

时间:2012-04-02 08:11:19

标签: jquery

我正在使用以下功能创建一个简单的手风琴。问题是打开的最后一层包含链接。这些链接从父项继承click函数,因此无法正确地作为链接。有关如何避免这种情况的任何想法? TA

jQuery('.loc_level_1').click(function(){
    jQuery(this).children('.level_2').slideToggle('200');
    return false; // this prevents event bubbling 
});

3 个答案:

答案 0 :(得分:0)

向链接添加处理程序并停止传播应该有效:

jQuery('.level_2 a').click(function(e){
    e.stopPropagation();
});

http://jsfiddle.net/infernalbadger/f8PRF/

答案 1 :(得分:0)

我不明白 - 您似乎已经为您的问题编写了解决方案:)

然而,这样做会更优雅:

jQuery('.loc_level_1').click(function(event){
    jQuery(this).children('.level_2').slideToggle('200');
    event.stopPropagation();
});

答案 2 :(得分:0)

使用此:

jQuery('> .loc_level_1').click(function(){
    jQuery(this).children('.level_2').slideToggle('200');
    return false; // this prevents event bubbling 
});

“>”意思是“只选择直接的孩子,而不是孩子的孩子”。