2 Stimmen

jQuery - Änderung eines booleschen Wertes erkennen

Gibt es eine Möglichkeit zu erkennen, wenn ein globaler boolescher Wert von falsch zu wahr mit jQuery ändert?

8voto

pimvdb Punkte 146174

Ja, verwenden Sie ein Getter/Setter-Paar, bei dem der Setter die Einstellung der Variablen abfängt: http://jsfiddle.net/M768B/ .

(function() {
    var val = false;

    Object.defineProperty(window, "something", {
        get: function() {
            return val;
        },
        set: function(v) {
            val = !!v; // `!!` to force setting a boolean
            alert("Changed to " + val);
        }
    });
})();

0voto

thomas Punkte 2462

Die Lösung könnte sein

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>JavaScript Object - watch () method example</title>
</head>
<body>
<h1 style="color: red">JavaScript Object : watch() method</h1>
<hr />
<script type="text/javascript">
//This is done to make the following JavaScript code compatible to XHTML. <![CDATA[ o = {x:10}
o.watch("x",
function (id,oldvalue,newvalue) {
document.writeln("o." + id + " changed from "
+ oldvalue + " to " + newvalue+"<br />")
return newvalue
})
o.x = 20
o.x = 30
o.x = 40
//]]>
</script>
</body>
</html> 

Kompatibel mit:

  • Internet Explorer 7
  • Firefox 3.6
  • Google Chrome 7
  • Safari 5.0.1
  • Oper 10

Gesehen aquí .

0voto

Aram Kocharyan Punkte 19721

Behalten Sie ein Array von Funktionsrückrufen als "Beobachter". Wenn sich der boolesche Wert durch Ihre Schnittstellenfunktion ändert (z. B. setBooleanValue(True); ), durchlaufen Sie das Callback-Array und rufen jede Funktion auf, um die Beobachter zu benachrichtigen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X