Second, clicks propagate to parents. If you click on a link it will also receive the click for the paragraph the link is in, the div the paragraph is in, the body the div is in, and the html the body is in. I don't know how to solve that but the jQuery list is very friendly, I'm sure someone does.
The event will only have a single target
attribute, so you can always test for equality in the handler. When you do handle the event at the target node, you can stop propagation of the event like so:
[event].cancelBubble = true;
if ([event].stopPropagation) [event].stopPropagation();