javascript - jQuery 用户界面 : Accordion callbacks

标签 javascript jquery jquery-ui

我需要我的javascript仅在打开 Accordion 上的一个部分时执行回调,截至目前,当我打开或关闭一个部分时它会执行回调,因为我只使用单击功能。有没有办法可以修改现有的点击函数,使其仅在激活给定部分时运行?

我当前的点击功能:

$("a#mimetypes").click(function() {
    $("span#mimetypesthrobber").loading(true, { max: 1500 })
    $.getJSON("../mimetypes", function(data) {
        //callback
    });
});

谢谢!

编辑:

我已经用 Accordion 的另一部分尝试过这个方法,但它无法正常工作:

$('.ui-accordion').bind('accordionchange', function(event, ui) {
if (ui.newHeader == "Encoders") {
EncodersGet();
}
});

最佳答案

您可以使用“change event

$('.ui-accordion').bind('accordionchange', function(event, ui) {
  ui.newHeader // jQuery object, activated header
  ui.oldHeader // jQuery object, previous header
  ui.newContent // jQuery object, activated content
  ui.oldContent // jQuery object, previous content
});

例如访问“newHeadert”并进行处理

编辑

根据新信息{collapsible: true, active: false}

$(document).ready(function() {
            var $acc = $('#accordion').accordion({ collapsible: true,
                   active : false ,
                   change : function (event, ui)
                   {
                                var index = $acc.accordion( "option", "active");
                    if( index === false){
                                 // all are close
                                }
                                else{
                                 // 0-based index of the open section
                                }

                   }
            });
        });

“选项,事件”将返回打开部分的索引,如果所有部分都关闭,则返回“false”

关于javascript - jQuery 用户界面 : Accordion callbacks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2508163/

相关文章:

javascript - 在更改时显示日期选择器

html - 父容器有不同宽度的子容器

javascript - 获取 sql 结果作为嵌套 json 对象

jquery - 手动激活选项卡 jquery ui 1.10.3

jquery - 将数据从一个输入字段移动到另一个输入字段

jquery和设置值范围

javascript - 在查看页面之前预加载并运行 jQuery/javascript

javascript - AngularJS 从 Javascript 调用 Controller 函数

javascript - 如何在 Javascript 中强制同步循环执行?

javascript - 如何单击包含文本的链接