Chciałbym pobrać aktualny element (jakikolwiek to jest) w dokumencie HTML, który kliknąłem. Ja używam:
$(document).click(function () {
alert($(this).text());
});
Ale o dziwo, dostaję tekst całego (!) Dokumentu, a nie kliknięty element.
Jak zdobyć tylko ten element, na który kliknąłem?
Przykład
<body>
<div class="myclass">test</div>
<p>asdfasfasf</p>
</body>
Jeśli kliknę na tekst „test”, chciałbym móc odczytać atrybut z $(this).attr("myclass"
) w jQuery.
javascript
jquery
html
dom
user1145216
źródło
źródło
target
właściwość obiektu zdarzenia.Odpowiedzi:
Musisz użyć elementu,
event.target
który jest elementem, który pierwotnie wywołał zdarzenie. Wthis
przykładowym kodzie odwołuje się dodocument
.W jQuery to ...
Bez jQuery ...
Upewnij się również, czy potrzebujesz obsługiwać <IE9, którego używasz
attachEvent()
zamiastaddEventListener()
.źródło
if(event.target === myjQueryDivElement)
, musiałem to zrobić:if(event.target.hasClass('mydivclass'))
gdzie mydivclass była klasą, którą miał mój element.|| target.innerText
?event.target
aby uzyskaćelement
aby uzyskać tekst z klikniętego elementu
źródło
użyj następującego wewnątrz tagu body
następnie użyj w javascript poniższej funkcji, aby uzyskać identyfikator
źródło
Element docelowy można znaleźć w
event.target
:Bibliografia:
źródło
Użyj
delegate
ievent.target
.delegate
korzysta z propagacji zdarzeń, pozwalając jednemu elementowi nasłuchiwać i obsługiwać zdarzenia dotyczące elementów potomnych.target
jest znormalizowaną przez jQ właściwośćevent
obiektu reprezentującego obiekt, z którego pochodzi zdarzenie.Demo: http://jsfiddle.net/xXTbP/
źródło
on()
powinien być zalecany powyżejdelegate()
. Ponadtodocument
jest prawdopodobnie jedynym wyjątkiem, aby nie używaćdelegate()
/,on()
ponieważ i tak bulgoczą do najwyższego punktu obsługi.on
tracę głowę.delegate
trzeba wziąć pod uwagę narzuty związane z filtrowaniem ...Wiem, że ten post jest naprawdę stary, ale aby uzyskać zawartość elementu w odniesieniu do jego identyfikatora, zrobiłbym to:
źródło
źródło
Oto rozwiązanie, które wykorzystuje selektor jQuery, dzięki czemu można łatwo kierować reklamy na tagi dowolnej klasy, identyfikatora, typu itp.
źródło