Живая события клика сообщая о другом источнике в Firefox против Chrome - PullRequest
13 голосов
/ 12 сентября 2011

С этим HTML

<div>
  <button>
    <img src="https://img.skitch.com/20110912-1m2qj31m7sxmh46uheef63gutu.gif">
  </button>
</div>

и этим jQuery

$(document).ready(function() { 
  $("body").live("click", function(event) {
    $("body").append(event.target.tagName);            
  });
});

Почему целевой узел события в Chrome - это изображение, а в Firefox - кнопка?

jsfiddle test -> http://jsfiddle.net/MikeGrace/YC5A7/

1 Ответ

4 голосов
/ 13 сентября 2011

Конечно, это не ограничивается изображениями - я настроил ваш код на http://jsfiddle.net/YC5A7/13/ и получил тот же результат с обычной гиперссылкой.

Согласно документации jQuery, event.target"может быть элементом, зарегистрированным для события, или его потомком". Таким образом, ваши результаты соответствуют назначению этого метода.

Однако event.currentTarget дает желаемый результат во всех браузерах: http://jsfiddle.net/YC5A7/16/

...