Javascript 如何限制可折叠项保持展开状态,除非单击要展开的其他可折叠项而不是可折叠项本身
我正在一个移动网站上工作,并使用jquerymobile。 我手风琴里有4件可折叠的东西。我想有一个项目保持扩展。如果单击展开的项目,它将折叠(我不想折叠此项目)。 如果单击任何其他折叠的项目,则最后一个展开的项目将折叠(没关系) 我将感谢你的帮助。手风琴类别的动态javascript代码如下所示:Javascript 如何限制可折叠项保持展开状态,除非单击要展开的其他可折叠项而不是可折叠项本身,javascript,html,jquery-ui,jquery-mobile,jquery-mobile-collapsible,Javascript,Html,Jquery Ui,Jquery Mobile,Jquery Mobile Collapsible,我正在一个移动网站上工作,并使用jquerymobile。 我手风琴里有4件可折叠的东西。我想有一个项目保持扩展。如果单击展开的项目,它将折叠(我不想折叠此项目)。 如果单击任何其他折叠的项目,则最后一个展开的项目将折叠(没关系) 我将感谢你的帮助。手风琴类别的动态javascript代码如下所示: function create-accordion(categories) { category_array = categories; jQuery.eac
function create-accordion(categories)
{
category_array = categories;
jQuery.each(categories, function( index, value )
{
var div = '<div data-role="collapsible" class="custom-collapsible" ';
if(index == 0)
div += 'data-collapsed="false"';
div += '>';
div += '<h3 style:"padding:0px; margin:0px;"> ' + value.name + '</h3>\
<div class= "collapsable-limit-theme">\
<div data-role="content" style="padding:0px; margin:0px;">\
<div class="ui-grid-c, Grid" id="Grid' + value.id + '">\
</div>\
</div>\
</div>\
</div>';
$($('#accord'), this).append(div);
});
$( "#accord" ).collapsibleset( "refresh" );
}
功能创建手风琴(类别)
{
类别\数组=类别;
每个(类别、函数(索引、值)
{
var div='';
div+=''+value.name+'\
\
\
\
\
\
\
';
$($('#accord'),this.append(div);
});
$(“#协议”).可折叠集(“刷新”);
}
还有html代码
<div id="accord" data-role="collapsible-set" border-radius="0px" >
</div>
关于您需要收听单击
.ui可折叠标题切换
,并检查单击的可折叠标题是否已折叠或展开。如果可折叠文件被折叠,它将有一个类。ui可折叠文件将被折叠
如果单击展开的可折叠文件,它将通过返回false来防止自身折叠,否则,它将折叠所有展开的文件
$(".ui-collapsible-heading-toggle").on("click", function () {
// clicked collaspible
var collapsible = $(this).closest(".ui-collapsible");
// check if its whether collapsed
if (collapsible.hasClass("ui-collapsible-collapsed")) {
// collapse expanded collapsibles
$(".ui-collapsible").not(collapsible).trigger("collapse");
} else {
// keep expanded clicked collapsible as is
return false;
}
});