0

jQuery accordionを使用していますが、最初のアコーディオン タブはデフォルトで、ページの読み込み時に既に展開されています。aria-selected="false"をインライン html に追加しようとしましたが、これをjquery-ui.js の6345 行から変更/削除しようとしましたが、最初のタブはまだ展開されています。

// make sure at least one header is in the tab order
if ( !this.active.length ) {
    this.headers.eq( 0 ).attr( "tabIndex", 0 );
} else {
    this.active.attr({
        "aria-selected": "true",
        tabIndex: 0
    })
    .next()
        .attr({
            "aria-expanded": "true",
            "aria-hidden": "false"
        });
}

ポインタはありますか?

編集: 以下の回答を使用した新しいフィドル: http://jsfiddle.net/pfeff/WNdRe/1/

4

1 に答える 1

1

Accordion jQuery-ui は CSS を変更することでタブの可視性を操作していますが、コンテンツのクラスは変更しません。アコーディオンの初期化の直後にこれをコードに配置します。

$("#accordion div.ui-accordion-content").css({"display": "none"});// hide content block

更新:

$(...).accordion({ collapsible: true, active: false });

更新 2:

元のUI要素の元の動作を変更する最良の方法-独自のプラグインまたはウィジェットを作成します:)

http://jsfiddle.net/R8J5p/1/

今、あなたはそれを次のように使うことができます$(...).myAccordion();

于 2013-11-04T19:04:26.937 に答える