2010-11-30 5 views
3

Comment puis-je obtenir l'objet événement à partir d'un attribut onclick?Appel de e.stopImmediatePropagation() à partir de l'attribut onclick

J'ai essayé:

<a href="something.html" onclick="function(e){e.stopImmediatePropagation();}">Click me</a> 

Aussi, j'ai essayé:

<a href="something.html" onclick="console.log(this);">Click me</a> 

Mais la console montre que l'élément <a>.

+2

Utilisez le jQuery '.cliquez()' au lieu de 'onclick' attribut – Adam

+0

Juste curieux, si vous utilisez jQuery, pourquoi sont vous utilisez également un attribut "onclick" en ligne? –

Répondre

2

Je pense que vous devriez définir la fonction dans une étiquette <script/> ailleurs.

Serait-il si mal à utiliser simplement quelque chose comme:

<script type="text/javascript"> 
    $('#something_link').click(function(e) { 
     e.stopImmediatePropagation(); 
    }); 
</script> 
<a href="something.html" id="something_link">Click me</a> 
+0

La deuxième partie est correcte, pas la première partie. 'stopImmediatePropogation()' fait partie de l'API jQuery. Il ne fonctionne que sur l'objet événement transmis par ses propres gestionnaires de gestionnaires d'événements. – aditya

+0

@aditya: Cela a du sens. :) Merci. –

+0

@lucas_jones Je voudrais faire quelque chose comme ça, mais j'utilise Ruby on Rails v 2.3.10. C'est vraiment pour ajouter un peu d'AJAX à un lien de suppression. Un lien de suppression utilise l'attribut onclick pour créer/envoyer dynamiquement un formulaire et retourner false. Cela fonctionne bien pour une demande de page normale, mais en essayant de AJAX-ify c'est gênant b/c l'événement continue à se propager. – Teddy