Je voudrais obtenir l'élément actuel (quel que soit l'élément) dans un document HTML sur lequel j'ai cliqué. J'utilise:
$(document).click(function () {
alert($(this).text());
});
Mais très étrangement, j'obtiens le texte de tout le document (!), Pas l'élément cliqué.
Comment obtenir uniquement l'élément sur lequel j'ai cliqué?
Exemple
<body>
<div class="myclass">test</div>
<p>asdfasfasf</p>
</body>
Si je clique sur le texte "test", je voudrais pouvoir lire l'attribut avec $(this).attr("myclass"
) dans jQuery.
javascript
jquery
html
dom
user1145216
la source
la source
target
propriété de l'objet événement.Réponses:
Vous devez utiliser le
event.target
qui est l'élément qui a déclenché l'événement à l'origine. Lethis
dans votre exemple de code fait référence àdocument
.Dans jQuery, c'est ...
Sans jQuery ...
Vérifiez également si vous devez prendre en charge <IE9 que vous utilisez à la
attachEvent()
place deaddEventListener()
.la source
if(event.target === myjQueryDivElement)
je devais faire:if(event.target.hasClass('mydivclass'))
où mydivclass était une classe que mon élément avait.|| target.innerText
?event.target
pour obtenir leelement
pour obtenir le texte de l'élément cliqué
la source
utiliser ce qui suit dans la balise body
puis utilisez en javascript la fonction suivante pour obtenir l'ID
la source
Vous pouvez trouver l'élément cible dans
event.target
:Références:
la source
Utilisez
delegate
etevent.target
.delegate
tire parti du bouillonnement d'événements en laissant un élément écouter et gérer les événements sur les éléments enfants.target
est la propriété normalisée jQ de l'event
objet représentant l'objet dont est issu l'événement.Démo: http://jsfiddle.net/xXTbP/
la source
on()
devrait être recommandédelegate()
. En outre,document
c'est probablement la seule exception à ne pas utiliserdelegate()
/on()
car ils bouillonnent de toute façon au plus haut point de manipulation.on
me glisse.delegate
que la surcharge de filtrage à prendre en compte, cependant ...Je sais que ce post est vraiment vieux mais, pour obtenir le contenu d'un élément en référence à son identifiant, voici ce que je ferais:
la source
la source
Voici une solution qui utilise un sélecteur jQuery afin que vous puissiez facilement cibler les balises de n'importe quelle classe, ID, type, etc.
la source