jQuery :: Callbacks
Proving that instance functions can be independently added and removed from a Callbacks object.
by StephenM
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
JavaScript
var list = $.Callbacks();
var Class1 = function(name) {
var _this = this;
this.name = name;
this.onSomething = function() {
console.log(_this.name);
}
list.add(this.onSomething);
this.detach = function() {
list.remove(this.onSomething);
}
}
console.log("TEST: EXPECT 1, 2, 3...");
var ein = new Class1("ein");
var zwei = new Class1("zwei");
var drei = new Class1("drei");
list.fire();
console.log("TEST: EXPECT 2, 2...");
zwei.onSomething();
zwei.onSomething();
console.log("TEST: EXPECT 2, 2...");
zwei.detach();
zwei.onSomething();
zwei.onSomething();
console.log("TEST: EXPECT 1, 3...");
list.fire();