2012-05-24 2 views
-1

Хорошо. У меня есть следующий сценарий:Невозможно использовать вложенный якорь

$('#exhibitions .item.plain').toggle(
    function() { 
     $(this).css({ 
      'height': '302px', 
      'z-index': '10', 
      'background': '#3F94AB' 
     }); 
     $(this).find('p.title').css('color', '#E6E6E6'); 
     $container.isotope('reLayout'); 
    }, 
    function() { 
     $(this).css({ 
      'height': "130px", 
      'z-index': '0', 
      'background': '#CCC' 
    }); 
    $(this).find('p.title').css('color', '#353334'); 
    $container.isotope('reLayout'); 
}); 

В то время как .item.plain дается в DIV с вложенной anchor. И когда я нажимаю на нее, что очевидно)) toggle() уволен.

<div class="item plain"> 
    <!-- some stuff --> 
    <a href="url I want to go"></a> 
</div> 

Как исправить это?

Спасибо!

+1

возможный дубликат [Как предотвратить родительский onclick-событие при стрельбе, когда щелкнут дочерний якорь?] (http://stackoverflow.com/questions/1369035/how-do-i-prevent-a-parents-onclick-event-from-firing-when-a- child-anchor-is-cli) и [Предотвратить щелчок от родительского щелчка ребенка с помощью события события) (http://stackoverflow.com/q/6929198/218196) и [Запретить клик от родительского щелчка по событию ребенка] (http: // stackoverflow.com/q/6929198/218196) и [Распространение событий JQuery] (http://stackoverflow.com/q/2244320/218196) –

+1

и [Как запретить детям нажимать на родительский щелчок] (http://stackoverflow.com/q/8484847/218196) и [нажмите ссылку не следует запускать родительское onclick-событие] (http://stackoverflow.com/q/5590944/218196) и [выберите DIV, но не ссылку внутри него, вопрос jQuery] (http://stackoverflow.com/q/3838758/218196). –

+0

@ Феликс хороший момент, но я не думаю, что OP знал, что происходит, поэтому я считаю это законным вопросом. –

ответ

4

Если я правильно понял, вы не хотите, чтобы переключить элемент .item.plain при нажатии на ссылку, поэтому остановить распространение события таким образом

$('#exhibitions .item.plain a').on('click', function(evt) { 
    evt.stopPropagation(); 
}); 
Смежные вопросы