У меня есть этот аккордеон, в котором у меня есть разделы с этой загрузкой, которые ajaxly при первом открытии. Отлично работает в ff, т.е. 8, и почти во всех браузерах. но в IE 9, если я нажму на стрелку / треугольник, это не так.
Я подстроил это так:
$("#accordian").accordion({
collapsible: true,
autoHeight: false,
active : false,
changestart: function (event, ui) {
var clicked = $(this).find('.ui-state-focus').attr('id');
if (clicked != "") {
var alreadyLoaded = $('#' + clicked).attr('alreadyLoaded');
if (alreadyLoaded == "false") {
var divToLoad = $('#' + clicked).attr('divToLoad');
var url = $('#' + clicked).attr('urlToLoadMe');
$('#' + divToLoad).load(url, function () {
//do some post load stuff
});
$('#' + clicked).attr('alreadyLoaded', "true");
}
}
}
});
мой аккордеон выглядит примерно так:
<div id="accordian" style="height:400;">
<h1 style="padding-left:25px;padding-top:5px; padding-bottom:5px;font-weight:bold;" id="ContactInformationHeader" urlToLoadMe="a url is here" alreadyLoaded="false" divToLoad="ContactInformationSearchSectionDiv">Contact Information</h1>
<div id="ContactInformationSearchSectionDiv">
loading
</div>
</div>
очевидно, с некоторыми другими разделами ... но это не важно.
это работает в Firefox (3.X и 4), то есть 8, но не 9. Если я щелкаю где-нибудь, но маленький треугольник это работает!
Похоже, что неправильно - активировать пользовательский интерфейс или что-то в этом роде. у кого-нибудь была похожая проблема? идеи? помочь?
jquery версия 1.4.1
JQuery UI версия 1.8.11
EDIT:
я сузил это до следующего: то есть в 9, кажется, что changestart
стреляет до того, как .ui-state-focus
присваивается всему, b / c это ноль. как это ui-state-active
.