Событие Javascript. Проблема с якорями

У этого менеджера ссылок есть недостаток, который использует event.target для поиска тегов привязки, однако он пропускает теги привязки, обертывающие IMG, SPAN, DIV и т. Д. Я не могу понять, как заставить его включить любой объект в тег привязки обертывания. У кого-нибудь есть мысли?

Вот моя демонстрационная страница, демонстрирующая проблему: http://tinyurl.com/nxc7bpx

Это оригинальный плагин:

/* Exit Link Manager v0.5 */
function getLinks() {
    for (var i = 0; i < document.links.length; i++) {
        lnk = document.links[i];
        if (lnk.addEventListener) {
            lnk.addEventListener('click', sendExitConversion, false)
        } else if (lnk.attachEvent) {
            lnk.attachEvent('onclick', sendExitConversion)
        }
    }
}

function setBodyOnload() {
    if (window.addEventListener) {
        window.addEventListener('load', getLinks, false)
    } else if (window.attachEvent) {
        window.attachEvent('onload', getLinks)
    }
}
setBodyOnload();

function sendExitConversion(event) {
    var obj;
    event = event ? event : window.event;
    var s = s_gi(s_account);
    if (event.target) {
        obj = event.target
    } else if (event.srcElement) {
        obj = event.srcElement
    }
    if (obj.href) {
        var exitLinks = s.linkInternalFilters;
        var exitArray = exitLinks.split(',');
        if (s.trackExternalLinks == false) {
            isExitLink = true;
            for (i = 0; i < exitArray.length; i++) {
                if (obj.href.toLowerCase().indexOf(exitArray[i].toLowerCase()) > -1) {
                    isExitLink = false
                }
            }
            exitURLStart = obj.href.substring(obj.href.indexOf('//') + 2, obj.href.length);
            if (exitURLStart.indexOf('/') > -1) {
                exitURLEnd = exitURLStart.indexOf('/')
            } else {
                exitURLEnd = exitURLStart.length
            }
            var exitDomain = exitURLStart.substring(0, exitURLEnd);
            if (isExitLink) {

                /* SET YOUR EXIT LINK VARIABLES AND EVENTS HERE */
                s.linkTrackVars = "";
                s.linkTrackEvents = "";
                s.events = "";
                s.tl(this, 'e', exitDomain);
            }
        }
    }
}

1 ответ

Решение

Итак, когда я меняюсь obj = event.target в obj = currentTarget Теперь я могу получить данные ссылки.

Другие вопросы по тегам