Ich möchte das aktuelle Element (egal welches Element) in einem HTML-Dokument abrufen, auf das ich geklickt habe. Ich benutze:
$(document).click(function () {
alert($(this).text());
});
Aber sehr seltsamerweise erhalte ich den Text des gesamten (!) Dokuments, nicht das angeklickte Element.
Wie bekomme ich nur das Element, auf das ich geklickt habe?
Beispiel
<body>
<div class="myclass">test</div>
<p>asdfasfasf</p>
</body>
Wenn ich auf den Text "test" klicke, möchte ich das Attribut mit $(this).attr("myclass"
) in jQuery lesen können .
javascript
jquery
html
dom
user1145216
quelle
quelle
target
Eigenschaft des Ereignisobjekts abrufen.Antworten:
Sie müssen
event.target
das Element verwenden, das das Ereignis ursprünglich ausgelöst hat. Derthis
in Ihrem Beispielcode bezieht sich aufdocument
.In jQuery ist das ...
Ohne jQuery ...
Stellen Sie außerdem sicher, dass Sie <IE9 unterstützen müssen, das Sie
attachEvent()
anstelle von verwendenaddEventListener()
.quelle
if(event.target === myjQueryDivElement)
ich tun musste:if(event.target.hasClass('mydivclass'))
wo mydivclass eine Klasse war, die mein Element hatte.|| target.innerText
?event.target
um das zu bekommenelement
um den Text vom angeklickten Element zu erhalten
quelle
Verwenden Sie im Body-Tag Folgendes
Verwenden Sie dann in Javascript die folgende Funktion, um die ID zu erhalten
quelle
Sie finden das Zielelement in
event.target
:Verweise:
quelle
Verwenden Sie
delegate
undevent.target
.delegate
nutzt das Sprudeln von Ereignissen, indem ein Element Ereignisse auf untergeordnete Elemente abhört und behandelt.target
ist die jQ-normalisierten Eigenschaft desevent
Objekts , von dem das Objekt, das das Ereignis stammte.Demo: http://jsfiddle.net/xXTbP/
quelle
on()
werden, die über empfohlen werden solltedelegate()
. Auchdocument
ist wahrscheinlich die einzige Ausnahme, umdelegate()
/ nicht zu verwenden,on()
da sie ohnehin bis zum höchsten Punkt der Handhabung sprudeln.on
.delegate
hat denIch weiß, dass dieser Beitrag wirklich alt ist, aber um den Inhalt eines Elements in Bezug auf seine ID zu erhalten, würde ich Folgendes tun:
quelle
quelle
Hier ist eine Lösung, die einen jQuery-Selektor verwendet, mit dem Sie problemlos Tags jeder Klasse, ID, jedes Typs usw. anvisieren können.
quelle