Mam duży div wewnątrz, który jest mniejszy, znaczniki achor i inne elementy. Każdy duży div w moim programie jest związany z wydarzeniem "mousedown" i wewnątrz obsługi onMouseDown, w zasadzie sprawdzam event.target.Sprawdź, czy celem zdarzenia jest hiperłącze
Jeśli użytkownik kliknie na element, który jest hiperłączem, chcę sprawdzić, czy event.target był hiperłączem, a następnie przejść do tego linku, jeśli event.target był hiperłączem. Jak to zrobić?
Oto struktura elementów divsa i elementów.
<div class="camp-name">
<span class="btnCampaign"><div class=""></div></span>
<span class="campaign-name">
<a href="http://www.google.com">Some Link here</a>
</span>
</div>
<div class="campaign-name-sub">
<span class="campaign-accountname">Some Text here</span>
<span class="seprator">|</span>
<span class="brandname">Some Text here</span>
</div>
JS
var label = label.createElement("DIV");
label.innerHMTL = src //src is the above html that is seen here
Plugin.addEventListener(label, "mousedown", params.onMouseDown);
Plugin.onMouseDown() = function(event) {
var target = (event.currentTarget) ? event.currentTarget : event.srcElement;
if (target.tagName.toLowerCase() === "a" && target !== undefined) {
console.log(target.href);
Plugin.stopPropagation(event);
}
};
możesz zgasić kod ... jak twoi div są zorganizowani i rzeczy – theshadowmonkey
@theshadowmonkey: Dodano. Po kliknięciu na tag nadal otrzymuję event.target tylko jako DIV. Jak rozwiązać ten problem? – user1240679
Wydaje mi się, że wydarzenie jest przetwarzane przez rodzica DIV. Wypróbuj konsolę console.log (zdarzenie) w Chrome i powinieneś zobaczyć wszystkie parametry, którymi możesz manipulować. Myślę, że powinno to pomóc w pewnym kierunku – theshadowmonkey