Предполагая эту структуру HTML:
<ul id="navUL">
<li><a href="one.html">One</a></li>
<li><a href="two.html">Two</a></li>
<li><a href="three.html">Three</a></li>
</ul>
Просто чтобы прояснить ситуацию (для меня) .... Согласно документации jQuery (http://api.jquery.com/delegate/), это:
$("#navUL").delegate("a", "click", function(){
// anchor clicked
});
... эквивалентно этому:
$("#navUL").each(function(){
$("a", this).live("click", function(){
// anchor clicked
});
});
Однако делегирование события (насколько я знаю) таково:
$("#navUL").click(function(e) {
if (e.target.nodeName !== "A") { return false; }
// anchor clicked
// anchor is referenced by e.target
});
Таким образом, вы ловитесобытие click для элемента UL, а затем выясните, какая привязка была фактически нажата с помощью свойства event.target
.
Я не знаю о методе делегата (), но этот последний метод всегда должен быть быстрее, чем присоединение обработчиков событий к каждому якору в элементе #navUL, например:
$("#navUL a").click(function() {
// anchor clicked
// anchor is referenced by the this value
});