从现有的 fiddle 开始,我创建了这个示例:http://jsfiddle.net/2DaR6/90/
这是html代码:
<div id="accordion">
<h3 id="header1" class="accClicked"><a href="#">Section 1</a></h3>
<div> Good Morning Stackoverflow</div>
<h3 id="header2" class="accClicked"><a href="#">Section 2</a></h3>
<div>Buongiorno Stackoverflow</div>
<h3 id="header3" class="accClicked"><a href="#">Section 3</a></h3>
<div>Bonjour Stackoverflow</div>
</div>
这是js代码:
$(function() {
var icons = {
header: "ui-icon-circle-arrow-e",
headerSelected: "ui-icon-circle-arrow-s"
};
$( "#accordion" ).accordion({
icons: icons,
collapsible: true
});
$( "#header1" ).click(function() {
$( "#accordion" ).accordion( "option", "icons", false );
}, function() {
$( "#accordion" ).accordion( "option", "icons", icons );
});
});
如果我点击第 1 部分, Accordion 会正确打开,但我希望点击其他项目时,之前打开的项目不会关闭。我怎样才能获得这种行为? 谢谢
最佳答案
你不应该将 jquery accordion 用于这种目的。 但是,覆盖任何元素事件行为相对容易。 Accordion 初始化后,您只需将点击处理程序覆盖到相应的元素即可。
在你的例子中,这给出了这样的东西:
$('#accordion .accClicked')
.off('click')
.click(function(){
$(this).next().toggle('fast');
});
查看工作 jsFiddle
关于javascript - jquery ui Accordion 避免在单击另一个项目时关闭项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13119503/