119 votes

Comment supprimer "onclick" avec JQuery?

code php:

 <a id="a$id" onclick="check($id,1)" href="javascript:void(0)"  class="black">Qualify</a>
 

Comment supprimer onclick = "check ($ id, 1) afin que" Qualify "ne puisse pas être cliqué ou que" check ($ id, 1) ne soit pas déclenché. Comment le faire avec JQuery?

280voto

GhiOm Points 13732

Essaye ça :

 $('a#...').attr('onclick','').unbind('click');
 

(Remplacez ... par l'identifiant dont vous avez besoin.)

60voto

acme Points 5109

Je sais que c'est assez vieux, mais quand la perte d'un étranger trouve cette question, la recherche d'une réponse (comme je l'ai fait) c'est la meilleure façon de le faire, au lieu d'utiliser removeAttr():

$element.prop("onclick", null);

Citant jQuerys officiel doku:

"Suppression d'une ligne onclick gestionnaire d'événement à l'aide .removeAttr() ne permet pas d'obtenir l'effet désiré dans Internet Explorer 6, 7 ou 8. Pour éviter d'éventuels problèmes, utiliser .prop() à la place"

17voto

Stral Points 341

si vous utilisez jquery 1.7

 $('html').off('click');
 

autre

 $('html').unbind('click');
 

5voto

bboydflo Points 124

Après avoir essayé si dur avec bind, unbind, sur, de, sur, attr, removeAttr, prop j'ai fait le travail. Donc, j'ai le scénario suivant: Dans mon code html, je n'ai PAS connecté le inline onclick gestionnaires.

Ensuite dans mon Javascript, j'ai utilisé les méthodes suivantes pour ajouter une ligne onclick gestionnaire:

$(element).attr('onclick','myFunction()');

Pour supprimer ce à un moment plus tard à partir de Javascript, j'ai utilisé les éléments suivants:

$(element).prop('onclick',null);

C'est la façon dont il a travaillé pour moi de lier et de délier sur les événements dinamically en Javascript. Rappelez-vous de ne PAS insérer d'inline onclick gestionnaire de vos éléments.

0voto

Vishnu Sharma Points 479

Essayez ceci si vous dissociez l'événement onclick par ID, puis utilisez:

 $('#youLinkID').attr('onclick','').unbind('click');
 

Essayez ceci si vous dissociez l'événement onclick par Class. Utilisez ensuite:

 $('.className').attr('onclick','').unbind('click');
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X