javascript - jquery ui Accordion 避免在单击另一个项目时关闭项目

标签 javascript jquery jquery-ui accordion

从现有的 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/

相关文章:

javascript - jQuery UI - 添加标签教程需要解释

css - 如何在 IE 6 中使用 jQuery UI 选项卡

javascript - Bookshelf.js/Knex.js 太 "helpful"与 UTC DATETIME 列

Jquery 类选择器和 hide()

jquery - 获取表体行,但不获取表头

javascript - 将日期转换为用户友好格式时出错

javascript - 如何使 jQuery 的可拖动功能扩展容器?

javascript - localStorage 或 sessionStorage 是否会影响网站的可访问性?

javascript - Chrome 扩展程序 : Open window when running in background

安卓上的javascript