我需要我的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/