JQuery проблема аккордеонной ссылки - PullRequest
1 голос
/ 03 апреля 2010

Небольшая проблема, я работал с мульти-аккордеоном для панели новостей. Все работает нормально, но есть проблема, которая только недавно появилась. Под заголовком у меня есть информация о том, когда и когда был опубликован заголовок + статья, а также о том, есть ли какие-либо комментарии.

Я намеревался сделать автора и количество комментариев в виде ссылки. Ссылка на автора скорее всего приведет к их контактной странице или, возможно, к электронному письму, ссылка с количеством комментариев просто расширит ее непосредственно до «Просмотр комментариев», к которому пользователь также может получить доступ, просто развернув статью, а затем развернув комментарии. Ярлык в основном.

Теперь проблема в том, что мне нужно поместить эту информацию «Опубликовано ...» в класс, который позволяет пользователю расширить заголовок статьи. Однако, если я сделаю это, он разрушит все поле аккордеона для этого заголовка, потому что в исходной ссылке A есть несколько ссылок A HREF. Я действительно не знаю, как обойти это, если у кого-то есть совет или решение, я был бы очень признателен, спасибо.

Вы можете посмотреть демо здесь: http://www.notedls.com/demo

Ответы [ 2 ]

2 голосов
/ 03 апреля 2010

Прямо сейчас у вас есть триггер A в качестве триггера

<a class="ui-accordion-link acc1">

Вы можете просто изменить это на DIV или H1?

<div class="ui-accordion-link acc1">

Размещение A-тега и H1 внутри A-тега в любом случае неверно.

Обновление

Извините, нет времени писать длинное объяснение, но попробуйте что-то вроде этого

   $("#accordion").accordion({header:'h3'});    
   $('#accordion a').click(function(e){ e.stopPropagation(); });

Это адаптация примера: http://docs.jquery.com/UI/Accordion

1) Дайте инициализации аккордеона новый заголовок (кликер) - в вашем случае это будет div.ui-accordion-link

2) Затем используйте stopPropagation, чтобы A-теги не запускали действие аккордеона.

Если вы не понимаете, дайте мне знать, и я могу попытаться объяснить это лучше.

0 голосов
/ 04 апреля 2010

Попробуйте установить для родительского элемента контейнера значение, отличное от <a> (например, <span> или <div>), и затем вы можете вставить в него теги ссылок, которые не будут мешать аккордеону.

Поскольку текущий <a> является селектором jquery, он не обязательно должен быть ссылкой. Возможно, вам придется немного изменить jquery, если он вызывает тег <a>, а не просто класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...