Comment supprimer l'evenement d'une classe avec JQuery

Par Anthony_, il y a 8 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

<script src="js/jquery-1.12.3.min.js"></script> <button>clik1</button> <a href="#">Effacer la classe 1</a> <script> $(document).ready(function(){ //Au chargement de la page j'ajoute une classe à mon bouton qui va renvoyer une alerte $("button").addClass("class1") //Lorsqu'on click dur le bouton l'alerte s ouvre $(".class1").on("click",function(){ alert("evenement 1") }) //Lorsque je click sr le lien je supprimer la classe qui gère l'evement de l'alerte $("a").on("click",function(){ $("button").removeClass("class1") }) }) </script>

Ce que je veux

je veux supprimer l'evenement lié à mon button en cliquant sur le lien

Ce que j'obtiens

Lorsque j'inspectes le button je vois bien que la classe a été supprimé, mais quant je click sur le button, l'alerte fonctionne toujours, qu'est-ce qui ne va pas ? :(

4 réponses

Anthony_, il y a 8 ans

J'ai essayé avec
if ($(this).hasClass("class1")) { alert("evenement 1") }

ça marche, mais est-ce que quelqu'un a une autre solution ?

Pierrot01, il y a 8 ans

Salut,

​ $(".class1").off("click");

@plus
Pierre

Kenor, il y a 8 ans

La solution de Pierrot01 est la mieux, en alternative, il est aussi possible de remplacer

$(".class1").on("click",function(){ alert("evenement 1") })

par

$(document).on("click",".class1",function(){ alert("evenement 1") })
TokaLazy, il y a 8 ans

Sinon tu as ça:

$('.class1').one('click', function () { alert('evenement 1') })