Итак, у меня есть <ol>
с некоторыми событиями, прикрепленными с помощью jQuery (1.4.2). Все сделано в $(document).ready()
-колл.
Странная вещь заключается в том, что щелчок по <li>
генерирует щелчок по исправлению <a>
(это можно увидеть, раскомментировав console.log()
-часть), но он не перемещается по UA. Почему это? event.stopPropagation()
вызывает event.preventDefault()
внутренне или как?
Я знаю, что могу сделать window.location.href = $('h3 a', this).eq(0).attr('href');
в событии click для <li>
, но я действительно хотел бы знать, почему он не работает с click-call.
Заранее благодарим товарищей SOers!
Кодекс:
HTML:
<ol class="news">
<li>
<img src="http://dummyimage.com/325x325/000/fff.jpg">
<span class="date">12th of May</span>
<h3><a href="http://example.com/lorem-ipsum">Lorem Ipsum</a></h3>
<p>Nullam rhoncus, massa nec posuere rutrum, mauris metus ornare lacus, facilisis. Rhoncus purus dui vel lectus.</p>
</li>
<li>
<span class="date">3rd of May</span>
<h3><a href="http://example.com/lam-sum-idum">Lam sum idum</a></h3>
<p>Mauris volutpat enim nec turpis pharetra consectetur. Cras faucibus mattis dignissim.</p>
</li>
<!-- many more LIs here... -->
</ol>
(и да. HTML 4.01 был проверен.)
JavaScript:
$('.news li').click(function () {
$('h3 a', this).eq(0).click();
}).hover(function () {
$(this).toggleClass('hover');
}).find('h3 a').click(function (e) {
e.stopPropagation();// prevent recursion
//console.log(this);
});