我正在使用 Accordionn jQuery Controls,您可以在下面找到 URL:
手风琴:http: //jqueryui.com/accordion/
问题:我们如何管理不可点击的空菜单;示例 - 如果我在“第 2 节”菜单上没有任何项目,则它不应该是可点击的。当我这样做时,它要么使下一个父菜单项成为上一个父菜单项的子项并扭曲,或者如果我只留下<div>
一个空菜单,它会打开一个空白菜单而不是不可点击。任何人都可以帮忙吗?
我正在使用 Accordionn jQuery Controls,您可以在下面找到 URL:
手风琴:http: //jqueryui.com/accordion/
问题:我们如何管理不可点击的空菜单;示例 - 如果我在“第 2 节”菜单上没有任何项目,则它不应该是可点击的。当我这样做时,它要么使下一个父菜单项成为上一个父菜单项的子项并扭曲,或者如果我只留下<div>
一个空菜单,它会打开一个空白菜单而不是不可点击。任何人都可以帮忙吗?
您可以尝试使用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 的特定面板。
这是此代码的更新:
$('#'+_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();});
现在它可以折叠/展开