Duplication possible:
Écoute des changements variables dans JavaScript ou jQuery
Comment puis-je suivre si cette variable a changé?
var ConditionalFlag = 0;
J'ai essayé ceci:
var ConditionalFlag = 0; $(ConditionalFlag).change(function () { alert("Changed"); }); ConditionalFlag++;
Mais en vain. J'ai envisagé d'utiliser une minuterie de 25 ms pour vérifier les changements comme ceci:
var ConditionalFlag = 0; function CheckFlag() { if (ConditionalFlag > 0) { alert("Changed"); clearInterval(check); } } var check = window.setInterval("CheckFlag()", 25); ConditionalFlag++;
Cependant, cela semble être trop élevé. Existe-t-il un moyen de joindre un gestionnaire d'événements à cette variable avec jQuery ou javascript?
Il n'y a pas d'événement qui se déclenche lorsqu'une variable change. JavaScript ne fonctionne pas de cette façon.
Quand cette variable est-elle modifiée? Il suffit d'ajouter un appel à une fonction après.
S'il s'agit d'une variable globale, vous pouvez utiliser les accesseurs de propriétés dans les environnements supportés …
window._conditional_flag = 0; Object.defineProperty(window, "ConditionalFlag", { get: function() { return window._conditional_flag}, set: function(v) { console.log("changed"); window._conditional_flag = v; } });