JSFiddle - React, Tailwind, and code Playground

by spicyj

HTML

<input id="x" value="7">
<div id="log" style="white-space: pre-line;"></div>

JavaScript

var logEl = document.getElementById("log");
function log(message) {
    logEl.textContent += message + "\n";
}

x.onpropertychange = function(e) {
    if (e.propertyName === "value") {
        log("changed: " + e.srcElement.value);
    }
};

var old = Object.getOwnPropertyDescriptor(x, "value");
for (k in old) {
    log(k);
}
Object.defineProperty(x, "value", {
    get: old.get,
    set: function(v) {
        log("new: ", v);
        old.set.call(this, v);
    }
});

log("hi");
x.value = '12';