Detecting change in a Javascript Object

25,998

Solution 1

2019 Update: These days this can be achieved using Proxy API in a much more efficient manner. The on-change library uses the Proxy API behind the scene to make this even easier.

2012 Update: I've just noticed that the author of Watch.js is referencing a library with much broader browsers' support. MultiGetSet.JS

When I want to achieve this I usually use Watch.js, you can watch a whole object or one attribute.

Solution 2

This is currently not possible, you can only define getters/setters for individual properties.

Yet, there is a draft for Proxy objects which could do that. Today, it is only supported in Firefox' Javascript 1.8.5.

Solution 3

This is not possible using watch.js. it just detect the changes of an object or the attributes of the object. It DOESNT detect if we add an attribute to the object or change a new added attribute...

Share:
25,998
Unitech
Author by

Unitech

Updated on April 17, 2020

Comments

  • Unitech
    Unitech about 4 years

    I found this gist to detect changes on specified fiels of a object : https://gist.github.com/3138469

    But it bind an event only on one field.

    Someone know a function or a tricks to detect change on an entire Javascript Object ?

  • aderchox
    aderchox about 2 years
    Thanks for updating this answer twice although last time about 8 years had passed. People like you make SO valuable. ✌️