Да, вы не должны использовать clickEvent.target
, потому что это цель, которая была нажата.В вашем случае цель - это не a
, а img
, она содержит .
Фактические события всплывают, поэтому вы нажимаете на изображение и событие click
распространяется вверх (до a
) и вызывает предоставленный вами делегат события.
Решение состоит в том, чтобы изменить эту строку на
var url = this.href;
Или, если вы предпочитаете получитьзначение через jQuery использовать
var url = $(this).attr('href');
Первый быстрее.
Решение состоит в том, что this
в обработчике ссылается на элемент DOM, к которому вы прикрепляете обработчик.Так что this
будет относиться к a
.