2010-12-01 8 views
0

jQuery dispose de merveilleux sélecteurs pour les éléments DOM, mais vous pouvez 'sélectionner' un objet événement. C'est-à-dire, si j'utilise le javascript en ligne sur l'attribut 'onclick' d'un élément, pourrais-je avoir un sélecteur pour trouver cet objet événement afin que je puisse agir dessus.utiliser jQuery pour trouver un objet événement

Je sais que je pouvais faire quelque chose comme ceci:

$("a#some_link").click(function(event){//act on event here}); 

Mais comment pourrais-je trouver l'objet de l'événement si en ligne javascript a été utilisé:

<a href="somepage.html" onclick="alert('how do I get my event oject?');">click me</a> 

Cette question est un complément à une question précédente : calling e.stopImmediatePropagation() from onclick attribute

Répondre

1
onclick = "alert(event.type);return false;" 

<a id="some_link" href="somepage.html" onclick="alert(event.type);return false;">click me</a> 

Test it

1

Simple $('a').attr('onclick') vous obtient ces données. Dans Firefox, il est enveloppé avec function() { }

0

Eh bien cela devrait trouver des événements « onclick », je ne crois pas qu'il capte les événements liés jQuery.

$("a,input").filter(function() { 
    return $.isFunction(this.onclick) 
}); 

S'il y a d'autres types de balises que vous pourriez avoir un tel événement, alors vous devez les ajouter, vous pouvez utiliser "*" comme le sélecteur, mais qui est assez lent.

Questions connexes