jQuery Accordion:链接不起作用

我正在使用jQuery的手风琴UI元素处理页面 。 我在那个例子上模拟了我的HTML,除了在

  • 元素中,我有一些无序的链接列表。 像这样:

      $(document).ready(function() { $(".ui-accordion-container").accordion( {active: "a.default", alwaysOpen: true, autoHeight: false} ); }); 

    问题:链接不起作用

    在我测试的所有浏览器中,这些手风琴菜单中的链接会导致手风琴部分折叠而不是将您带到链接页面。 (我仍然可以右键单击并转到链接的站点。)

    这可能是某种点击绑定问题吗?

    默认情况下,accordian小部件将所有链接设置为标题。 要更改它,您需要使用headers选项指定一个选择器。 所以,你的代码看起来像这样:

     $(".ui-accordion-container").accordion( { active: "a.default", ..., header: "a.accordion-label" } ); 

    尝试添加内联onlick以防止事件冒泡:

     ... A Group of Links ... 

    或者像这样的domready事件:

     $(".toggle-title a").click(function(event){ event.stopPropagation()}) 

    然而,后者不适合我,即使代码明智有意义,jQuery执行点击! 任何可以向我解释的人都感到自由,我来自MooTools和具有addEventfunction的Google Closure背景。

    我有这个完全相同的问题,无法在任何地方找到答案。 事实上,有几位消息人士说它无法完成。

    进一步玩,我确实找到了一个有效的解决方案。 可能不是很好,但它就像一个魅力。

    首先,只需确保您想要点击的链接,并且对手风琴控件免疫,很容易识别。 我上了一堂课。

      $('.stats a').click(function(){ expander.accordion('disable'); window.open($(this).attr('href')); setTimeout ( function() { expander.accordion('enable'); }, 250 ); 

    });

    本质上,这会在单击手风琴标题内的链接时进行侦听。 如果是这样,手风琴会被暂时禁用,使其无法正常射击。 然后打开链接,在这种情况下,在新窗口中,但您也可以使用document.location

    如果我们立即重新启用手风琴,它仍会触发并切换手风琴。 我发现超短暂超时提供了足够的延迟。

    希望这有助于某人!

    AlwaysOpen应该是真的。

    可能是我的建议是没有使用accordion()函数,[我之前不知道,谢谢你提出来:)]但仍然显示如何拥有一个Accordion UI元素。

    HTML

      

    Accordian

    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

    CSS

      

    jQuery的

      

    希望这可以帮助。

    解决方案http://www.colorizate.com/jquery-acordion-hack-link-interno/

    对于仍然遇到此问题的人,这里有一个可能的替代脚本: http : //twostepmedia.co.uk/notes/development/jquery-accordion/

    正如我对你的另一个问题的回答所说:

      navigation: true 

    应在您的选项列表中设置。