Мы используем диаграммы классов UML только для некоторого царапания главным образом в начале проектов, но также и при объяснении нашего собственного кода другим разработчикам. Но это только sratching, для не документирования нашего программного обеспечения.
По моему мнению с этим очень говорят о UML (людьми, журналами), но не совсем столько людей действительно использует его.
Хорошо, я сделал перерыв в кодировании этой функции и вернулся к ней свежим взглядом. Вот решение:
$("#accordion").accordion({event: false});
Добавление события: false в код инициализации аккордеона предотвратит выполнение действия по умолчанию при щелчке мышью по меню аккордеона, а затем я могу написать собственный код обработки щелчка для запуска функции validate (), когда пользователь щелкает по
Кстати, здесь я использую модуль аккордеона JQuery UI.
Работает с ie7,8, chrome 19, ff 3.0.3
event.stopPropogation ()
не останавливает дальнейший вызов обработчиков событий, зарегистрированных для цели события, он останавливает всплытие события в DOM, если event.bubbles
верно. Вы можете попробовать вернуть обработчик событий false
или вызвать event.preventDefault ()
, см. здесь или здесь для получения дополнительной информации.
Судя по исходному коду, событие привязано не к h3, а к окружающему контейнеру (плагин использует делегирование событий). Более того, обработчик привязан не к click
, а к click.ui-accordion
. Так что попробуйте:
$('#accordion').unbind('click.ui-accordion');
И для записи: не существует такой вещи (по крайней мере, пока), как "модуль аккордеона JQuery". Для JQuery существует всего несколько плагинов-гармошек.
Вы должны написать приведенный ниже код вместе в нижней части функции готовности:
$('#accordion h3').unbind('click');
$('#accordion a').unbind('click');