Ich habe ein großes div darin, die kleinere divs, achor Tags und andere Elemente sind. Jedes große div in meinem Programm ist an "mousedown" -Ereignis gebunden und innerhalb des onMouseDown-Handlers überprüfe ich im Wesentlichen das event.target.Überprüfen Sie, ob das Ereignisziel ein Hyperlink ist.
Wenn ein Benutzer auf ein Element klickt, das ein Hyperlink ist, möchte ich überprüfen, ob event.target ein Hyperlink ist, und dann zu diesem Link navigieren, wenn event.target ein Hyperlink ist. Wie kann das gemacht werden?
Hier ist die Struktur der Divsa und Elemente.
<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);
}
};
können Sie etwas Code ausgeben .... wie Ihre divs organisiert sind und Sachen – theshadowmonkey
@theshadowmonkey: Hinzugefügt. Wenn ich auf Tag klicke, bekomme ich immer noch das event.target als DIV. Wie löse ich dieses Problem? – user1240679
Ich denke, dass das Ereignis von der Eltern DIV behandelt wird. Probieren Sie console.log (Ereignis) in Chrome vorzugsweise und Sie sollten alle Parameter sehen, die Sie manipulieren können. Ich denke, das sollte in irgendeiner Richtung helfen – theshadowmonkey