The code is as follows: (Originally it was encapsulated based on the prototype, but it was found that the amount of code was completely increased, so it was changed back)
Thanks to sparks345 for raising the issue when pasting
In this case, we can only add a few more events onpropertychange, oninput, obj.watch("value",function(id,oval,nval){})
You can see here for details, tracking input value changes and compatible processing