当前位置: 首页 > Web前端 > HTML

监听输入值变化的方案

时间:2023-04-02 16:20:04 HTML

是有限的。如有错误,请指正。1.更改input的输入值:用户在键盘上输入鼠标右键复制、剪切、粘贴快捷键复制、剪切、粘贴js获取元素然后赋值document.getElementsByTagName("输入")[0].value=0;2、常用方法:onkeydown、onkeypress、onkeyup(键盘事件):由键盘输入触发。functiononKeyUpHandler(val){console.log(val);限制:情况2和4不能触发监听事件,3次重复触发(由于复制等操作的快捷键是组合键,会导致监听事件触发2次)。onchange:触发机制如下:1.当输入捕获焦点时,存储当前值;2、输入焦点离开后,判断当前值与存储值是否不同,不同则触发onchange事件。functiononChangeHandler(val){console.log(val);限制:不是实时监控,case4不能触发,1、2、3的触发必须让输入失去焦点(比如点击输入区域外)oninput+onpropertychange:目前使用最多的方案,兼容性强//Firefox,GoogleChrome,Opera,Safari,InternetExplorer版本9){console.log(event.srcElement.value);}}附上jQuery实现限制:可以实时触发,万一除外4.附:对于案例4,可以参考以下解决方案:参考问题:当JavaScript动态改变input的value属性时,如何自动触发oninput和onchange事件?可以参考双向绑定中使用的Object.defineProperty()方法实现——xianshenglu的回答Nativejs可以使用事件构造器——Cribug8080的回答jQuery可以使用trigger()方法触发事件$("#inputId").val(33);$("#inputId").trigger("oninput");