JSFiddle - React, Tailwind, and code Playground

HTML

<input id="testinput" type="text"></input>

JavaScript

var originalVal = $.fn.val;
$.fn.val = function() {
    if(arguments.length) {
       originalVal.apply(this, arguments);
       this.trigger('change');
       return this;
    }
    return originalVal.call(this);
}

$('#testinput').change(function (){
    change($(this).val());
});
function change(msg){
    alert(msg);
}
$('#testinput').val('new val');