#javascript #jquery #css
#javascript #jquery #css
Вопрос:
<li class="menu-229 menuparent menu-path-front even">
<a title="About" href="/tca/">about</a>
<ul style="display: none; visibility: hidden;">
</li>
Выше приведен пример настройки моего динамически сгенерированного выпадающего меню.
ul — это выпадающее меню со ссылками, однако я хочу отключить интерактивность тега About a. Я не хочу, чтобы родительские элементы выпадающего списка были ссылкой.
Я пытался:
$('.menuparent').click(function(e) {
e.preventDefault() // or return false;
});
но этот код также отключает ссылки выпадающего меню.
Извините, забыл упомянуть, что это меню создано Drupal. Я не думаю, что смогу ее коснуться. Я могу работать только с тем, что мне дано.
Ответ №1:
Попробуйте этот селектор с prev()
:
$('.menuparent > ul').prev('a').click(function(e) {
e.preventDefault();
});
Комментарии:
1. Могу проголосовать еще раз только через час, но я вернусь и 1, когда смогу. @Adam: jsFiddle для отображения рабочего кода — jsfiddle.net/stealthyninja/hUbwb/2
2. Удивительные. Работает без необходимости касаться css… которую я отредактировал, чтобы упомянуть, что я не могу, потому что ее генерирует модуль Drupal под названием nice menu.
Ответ №2:
Действительно простым подходом было бы добавить класс к каждому из родительских элементов и использовать именно этот код для таргетинга на родительский класс.
Ответ №3:
<a title="About" href="/tca/" onClick="javascript:return false;">about</a>
Сработает ли это?
С помощью тега привязки onClick
событие оценивается до того, href
как оно будет фактически выполнено. Если onClick
событие возвращает a, false
то href
оно не активируется.