2010-06-23 7 views
4

Je voudrais savoir s'il est possible (et comment) d'arrêter un script jQuery sur un événement click.Arrêter un script jQuery

Je suis en train de charger sur un clic comme celui-ci

$("#id_button").click(function() { $.getScript("script.js"); alert ("The script is activated"); });

et je voudrais l'arrêter de la même manière.

Répondre

1

Je ne suis pas sûr si vous êtes à la recherche de celui-ci ou non.

Vous pouvez lier et délier un événement en utilisant jquery comme

$("#id_button").bind("click", function(){ 
}); 

et unbind

$("#id_button").unbind("click"); 
+0

Eh bien, j'ai essayé mais didn'work. Je n'ai pas fait de bind avant, mais dans la spécification, il semblait que nous pouvions utiliser unbind sans bind auparavant. Ce que j'ai fait est: $ ("tr"). Cliquez (surlignez); $ ("# stop_script"). Cliquez sur (function() { $ ("tr"). Unbind ("click"); }); Mais cela ne change rien – Johanna

0

Si ceci est au sujet de la dynamique "déchargement" d'un fichier js, vous pouvez appliquer Jonathan Sampson's approach.

Fondamentalement, "script.js" pourrait être encapsulé dans un objet et lors d'un "clic", chargé dynamiquement. Lors de l'événement de clic suivant, différent clic de clic ou événement de votre choix, vous pouvez définir cet objet sur null, en supprimant les capacités de ce script.

Edit: Rebecca Murphy's slides on code organization.

+0

Cela semble être une bonne idée, mais comment le feriez-vous? – Johanna

+0

Je suppose que script.js a des méthodes que vous utilisez après que votre événement a été déclenché. Vous pouvez prendre ces méthodes et les placer dans un objet et instancier l'objet onclick, au lieu de charger le fichier * .js. Ensuite, pour le supprimer, définissez cet objet sur null. J'emprunte à de plus grands esprits que le mien, bien sûr, Rebecca Murphy a un excellent article sur le sujet. Elle se concentre sur l'organisation du code, mais déplacer le code dans des "objets" vous donne un peu plus de puissance et peut rendre ce que vous cherchez un peu plus facile. –

Questions connexes