J'utilise une jQuery À des fins de test, j'appelle Mais lorsque le site Web est actualisé (par exemple, F5 kbd>) après appel Mousemove CODE> Evénement pour suivre les activités de la souris.
startActivityTracker () code> dans la console de développeur.
Lorsque la souris est déplacée,
OnActivity () code> est appelé.
Ensuite, j'exécute
startastacitytracker () code> et
OnActivity () code> n'est plus appelé. Tout cela fonctionne jusqu'à présent. P>
startActivityTracker () code>,
startasticitenittracker () n'a aucun effet. En d'autres termes,
Onactivity () code> est toujours appelé.
Y a-t-il une référence perdue lorsque vous rafraîchissez la page? P>
function onActivity() {
console.log('onActivity: ' + Math.random()) ;
}
function startActivityTracker() {
$(document).ready(function () {
console.log('Tracker started.');
$(document).mousemove(onActivity);
});
}
function stopActivityTracker() {
console.log('Tracker stopped.');
$(document).off('mousemove', onActivity);
}
3 Réponses :
essayer de changer la fonction forte>
function stopActivityTracker() {
console.log('Tracker stopped.');
$(document).off('mousemove');
}
Merci, je vais essayer cela. Cela ne désactivera-t-il aucun (autre) événement de Mousemove (s'il y en a d'autres) et non seulement celui qui a été démarré dans StartActivityTracker ()?
Le code ci-dessus supprimera chaque événement de souris, utilisez Unbind B> pour supprimer un événement spécifique. Comme ceci: $ (document) .unbind ('Mousemove', Onactivité);
OFF () est le même que d'engouement (). Mais à partir de JQuery 3.0, .unbind () a été obsolète. Il a été remplacé par la méthode .Off () depuis JQuery 1.7, son utilisation était donc déjà découragée.
Dans votre <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
https://jsfiddle.net/pxhs9qer/
JS: P> < Pré> xxx pré>
envelopper votre script entière en $ (document) .Readady () et utilisez sur strong> avec off fort> p> p> p> p>
Je n'ai pas pu reproduire ce problème. Je n'ai aucun problème du tout. J'appelle
starttactivityTracker code> sur un bouton Cliquez et déplacez la souris, je peux voir la console console.logs code> - Si je rafraîchis la page - Je ne vois pas le journal de contrôle à nouveau. Jusqu'à ce que j'appelle
starttactivityTracker code>? Êtes-vous capable de clarifier plus s'il vous plaît