web-dev-qa-db-fra.com

jQuery attr ('onclick')

J'essaie de changer l'attribut "onclick" dans jQuery mais cela ne change pas, voici mon code:

$('#stop').click(function() {
     $('next').attr('onclick','stopMoving()');
}

J'ai un élément avec id = "stop" et lorsque l'utilisateur clique dessus, je souhaite modifier un attribut onclick sur un élément ayant id = "next".

Si quelqu'un sait où se trouve la solution, aidez-nous!

27
Shark

Faites-le à la manière de jQuery (et corrigez les erreurs):

$('#stop').click(function() {
     $('#next').click(stopMoving);
     // ^-- missing #
});  // <-- missing );

Si l'élément a déjà un gestionnaire click attaché via l'attribut onclick, vous devez le supprimer:

$('#next').attr('onclick', '');

Mise à jour: Comme @Drackir l’a souligné, vous devrez peut-être aussi appeler $('#next').unbind('click'); afin de supprimer les autres gestionnaires de clics attachés via jQuery.

Mais c'est deviner ici. Comme toujours: Plus d'informations => meilleures réponses.

45
Felix Kling

Comme @Richard l’a souligné plus haut, l’onClick doit avoir un C majuscule. 

$('#stop').click(function() {
     $('next').attr('onClick','stopMoving()');
}
13
Tim

Le moyen le plus simple est de changer la fonction .attr () en une fonction javascript .setAttribute ()

$('#stop').click(function() {
    $('next')[0].setAttribute('onclick','stopMoving()');
}
7
Artnik

Essayez avec cette version jquery-1.10.2!

0
fgallego