3

我正在使用 Accordionn jQuery Controls,您可以在下面找到 URL:

手风琴:http: //jqueryui.com/accordion/

问题:我们如何管理不可点击的空菜单;示例 - 如果我在“第 2 节”菜单上没有任何项目,则它不应该是可点击的。当我这样做时,它要么使下一个父菜单项成为上一个父菜单项的子项并扭曲,或者如果我只留下<div> 一个空菜单,它会打开一个空白菜单而不是不可点击。任何人都可以帮忙吗?

4

2 回答 2

6

您可以尝试使用http://api.jqueryui.com/accordion/#event-beforeActivate

$( ".selector" ).on( "accordionbeforeactivate", function( event, ui ) {} );

在功能中,您可以测试ui.newPanel,如果为空,则取消该面板的激活。

我创建了 jsfiddle 示例:http: //jsfiddle.net/npthU/1/

    $( "#accordion" ).on( "accordionbeforeactivate", function( event, ui ) {

       if($.trim($( ui.newPanel ).html()).length == 0)
          event.preventDefault();

    });

用于event.preventDefault();禁止打开具有空 div 的特定面板。

于 2013-04-01T08:54:37.083 回答
0

这是此代码的更新:

$('#'+_id).on( "accordionbeforeactivate", function( event, ui ) {
        if((($.trim($(ui.newPanel).html()).length == 0)&&($(ui.oldHeader).length==0))||(($.trim($(ui.newPanel).html()).length == 0)&&($(ui.newHeader).length))){event.preventDefault();});

现在它可以折叠/展开

于 2013-08-13T23:47:08.433 回答