我使用的是Accordionn jQuery Controls,您可以在下面找到以下网址:
手风琴:http://jqueryui.com/accordion/
问题:我们如何管理无法点击的空菜单;示例 - 如果我在“第2部分”菜单上没有任何项目,则不应该是可点击的。当我这样做时,要么将下一个父菜单项设为前一个并且失真,要么我只留下一个emtpy <div>
,它会打开一个空白菜单而不能点击。有人可以帮忙吗?
答案 0 :(得分:5)
您可以尝试使用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的特定面板。
答案 1 :(得分: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();});
现在它可以折叠/解除折叠