diff --git a/backbone.js b/backbone.js index 15d888cc..ec1ad2dd 100644 --- a/backbone.js +++ b/backbone.js @@ -121,6 +121,7 @@ this._escapedAttributes = {}; this.cid = _.uniqueId('c'); this.set(attributes, {silent : true}); + this._changed = false; this._previousAttributes = _.clone(this.attributes); if (options && options.collection) this.collection = options.collection; this.initialize(attributes, options); diff --git a/test/model.js b/test/model.js index b6a189c5..b90f77d5 100644 --- a/test/model.js +++ b/test/model.js @@ -204,6 +204,15 @@ $(document).ready(function() { equals(value, 'Ms. Sue'); }); + test("Model: change after initialize", function () { + var changed = 0; + var attrs = {id: 1, label: 'c'}; + var obj = new Backbone.Model(attrs); + obj.bind('change', function() { changed += 1; }); + obj.set(attrs); + equals(changed, 0); + }); + test("Model: save within change event", function () { var model = new Backbone.Model({firstName : "Taylor", lastName: "Swift"}); model.bind('change', function () {