JQUERY Mobile可折叠 - 想要在可折叠扩展时做一些事情......不知道如何解雇它

时间:2012-03-04 02:41:17

标签: jquery jquery-mobile widget collapsable

我有几个页面,上面有多个可折叠的页面。当一个人扩大时,我想关闭所有其他人。我已经读过我需要使用.trigger('expand')和.trigger('collapse')动态打开和关闭...但是当实际打开可折叠时我如何触发事件?

我认为可能是点击事件... $('#myExpandable').click() - 不行。 我试图绑定.bind('expand', function() {} ); - 不要...... 我试过.live('expand', function() {} ); ..一切都没有用。

有人能在这里找到我吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以绑定到元素的expand事件,然后在其余的collaspibles上触发collapse事件:

//since we don't know when the page will be injected into the DOM,
//we can bind to it's elements once it's been added to the DOM and is about to be initialized
$(document).delegate('#my-page-id', 'pageinit', function () {

    //cache each of the collapsible elements in a variable
    var $collapse = $(this).find('[data-role="collapsible"]');

    //bind to each collapsible's `expand` event
    $collapse.bind('expand', function () {

        //when a collapsible is expanded, collapse all the others on this page
        $collapse.not(this).trigger('collapse');

    });
});​

以下是演示:http://jsfiddle.net/FhZVn/