如何在重新创建时停止jQuery手风琴更改事件?

时间:2011-09-26 09:24:21

标签: javascript jquery jquery-ui

我在三个不同的dom元素中有三种不同的手风琴,当我通过点击移动按钮以编程方式将一个手风琴部分移动到另一个手风琴部分时,我正在重新创建页面上的所有手风琴。我希望选定的手风琴能够在移动的手风琴中打开/扩展。但移动的手风琴有时会崩溃,其他时间会扩大。我认为这种情况正在发生,因为在重新创建手风琴后,它会触发变化事件并变为崩溃。

任何人都可以建议如何在重新创建手风琴后停止手风琴变化事件。我已经在this post

中使用了这个建议

1 个答案:

答案 0 :(得分:1)

将accordion选项存储在变量中,以便您可以反复使用它。 然后,当你销毁手风琴时,设置你想要打开/活动的窗格(整数):

accord_options.active = 3; // This is the number value of the accordion pane you want open. Accordion panes start at 0.
$selector.accordion('destroy').accordion(accord_options);

如果您需要进一步控制手风琴何时开火,您可以在手风琴选项中使用空事件:

accord_options = {
    event: '',
    ...

然后创建一个处理手风琴点击的功能:

$('#accordion_1 h3').click(function()
{
    if (something_happens)
    {
        // we don't want the accordion to activate here
        return false;
    }

    // to activate an accordion pane:
    $selector.accordion('activate', $('#accordion_1 h3').index(this));

    return false;
}

将您自己的代码添加到上述点击方法中,以处理您是否希望激活手风琴窗格。