[jQuery] Event propagation and anchors
This is my first post here, so hello to all subscribers!
I have googled a bit for my problem, but didn't find exact answer to
my problem, or I do not understand event propagation enough. The
situation looks like this: I have a nested list:
<ul class="someclass">
<li>1 Position... <a href="mailto:someone@somewhere">e-mail</a></
li>
<li>2 Nested position
<ul class="nested">
<li>1.1 Position... <a href="mailto:someone2@somewhere2">e-
mail</a></li>
...
</ul>
</li>
</ul>
There's an event (click; toggle, to be more exact) bound to each
('ul.someclass > li'), making <ul> contained within this <li>
(ul.nested) appear/disappear. The problem is: the event is triggered
not only when I click on the "2 Nested position" label, but also when
clicking on any of this element (i.e. ul.someclass > li) descendants,
thus, preventing the "default action" for an anchor
(mailto:someone2@somewhere2).
I have made a simple workaround:
$('.someclass > ul > li a').click(function(e) {
document.location.href = $(this).attr('href');
return false;
});
which works, but I'm not quite happy with the solution.
The question is: is there any way to easily prevent "propagation"
described above?
I can provide a link to a live code, if needed.
greetings,
Jakub