Question

Je ne sais pas se que je l'ai oublié comment le faire ou si ce dernier est un bug, mais je ne peux pas trouver juste la référence de l'appelant en cas « clic » en utilisant jQuery.

je suis procédant comme suit:


$(document).ready(function() {
    $('#parent a.item').click(doSomething);
});

function doSomething(e) {
    // Alerts for demostrational purposes only
    alert(e.target);
    alert(e.currentTarget);
    alert(this);
    alert($(this)[0]);
}

Toutes les alertes montrent l'attribut de hyperlink's (page URL + '#').
Ai-je fait quelque chose de mal?

Notes: En utilisant jQuery 1.4.2.

Était-ce utile?

La solution

Il est parce que vous alerter si vous voyez la représentation de chaîne (depuis alert() prend une chaîne) ... qui, pour un point d'ancrage est le href. Vous pouvez le faire par exemple:

alert(e.target); //or perhaps alert(this.target); - alerts the href
alert(e.target.innerHTML);  //or perhaps alert(this.innerHTML); - alerts the html

Vous pouvez l'essayer / jouer avec ici , notez que this et e.target ne sont pas toujours le même, si le clic est venu d'un élément enfant, ils seront différents.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top