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';