Аккордеон jQuery - развязывает событие щелчка

Мы используем диаграммы классов UML только для некоторого царапания главным образом в начале проектов, но также и при объяснении нашего собственного кода другим разработчикам. Но это только sratching, для не документирования нашего программного обеспечения.

По моему мнению с этим очень говорят о UML (людьми, журналами), но не совсем столько людей действительно использует его.

8
задан Tom Bartel 25 November 2009 в 05:04
поделиться

4 ответа

Хорошо, я сделал перерыв в кодировании этой функции и вернулся к ней свежим взглядом. Вот решение:

$("#accordion").accordion({event: false});

Добавление события: false в код инициализации аккордеона предотвратит выполнение действия по умолчанию при щелчке мышью по меню аккордеона, а затем я могу написать собственный код обработки щелчка для запуска функции validate (), когда пользователь щелкает по

Кстати, здесь я использую модуль аккордеона JQuery UI.

Работает с ie7,8, chrome 19, ff 3.0.3

13
ответ дан 5 December 2019 в 12:59
поделиться

event.stopPropogation () не останавливает дальнейший вызов обработчиков событий, зарегистрированных для цели события, он останавливает всплытие события в DOM, если event.bubbles верно. Вы можете попробовать вернуть обработчик событий false или вызвать event.preventDefault () , см. здесь или здесь для получения дополнительной информации.

0
ответ дан 5 December 2019 в 12:59
поделиться

Судя по исходному коду, событие привязано не к h3, а к окружающему контейнеру (плагин использует делегирование событий). Более того, обработчик привязан не к click , а к click.ui-accordion . Так что попробуйте:

$('#accordion').unbind('click.ui-accordion');

И для записи: не существует такой вещи (по крайней мере, пока), как "модуль аккордеона JQuery". Для JQuery существует всего несколько плагинов-гармошек.

0
ответ дан 5 December 2019 в 12:59
поделиться

Вы должны написать приведенный ниже код вместе в нижней части функции готовности:

$('#accordion h3').unbind('click');
$('#accordion a').unbind('click');
0
ответ дан 5 December 2019 в 12:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: