У меня есть следующая разметка:
<div id="accordion" class="leftaligned">
<div>
<h3><a href="#">Stakeholder</a></h3>
<div>Content</div>
</div>
<div>
<h3><a href="#">Relationships</a></h3>
<div>Blah blah</div>
</div>
<div>
<h3><a href="#">Address</a></h3>
<div>Yada yada</div>
</div>
<div>
<h3><a href="#">Contact Details</a></h3>
<div>Foo bar</div>
</div>
</div>
Я создаю гармошку следующим образом:
$("#accordion").accordion({
header: "h3",
fillSpace: true,
changestart: function(event, ui) {
if (someConditionIsTrue()) {
event.stopPropagation();
event.preventDefault();
return (false);
}
}
});
Идея заключается в том, что есть некоторые варианты использования, которые не позволяют пользователю изменять панели, однако отмены события, описанные выше, не действуют, и панели все еще можно изменить.
Есть ли способ предотвратить смену панелей? Я также попытался активировать текущую панель программным способом, чтобы предотвратить изменение, но это вызвало еще одно событие изменения начала, и все ады вырвались на свободу (аккордеон фактически разбился)