JSFiddle - React, Tailwind, and code Playground

HTML

<body onload = 'Init(); Test();'>
            <input type = 'text' disabled = 'true' value = 'Initial' />
        </body>

JavaScript

function Init(){
                    var tE = document.querySelector('input'); //Our input field.

                    //We redefine the value property for the input
                    tE._value = tE.value;
                    Object.defineProperty(tE, 'value', {
                        get: function() {return this._value},
                        set: function(v){
    console.log(1, 'The value changed to ' + v)
                            this._value = v;
                            this.setAttribute('value', v) //We set the attribute for display and dom reasons
                    }
                    })
                }

                function Test(){
                    //In one second we are going to change the value of the input
                    window.setTimeout(function(){
                        var tE = document.querySelector('input'); //Our input field.
                        tE.value = 'Changed!'
    console.log(0, 'Changed the value for input to ' + tE.value)
                    }, 1000)
                }