你选择暗度陈仓,
那我就双管齐下。
脚本改变input值,如何触发onchange事件
PLAN A: EventTarget.fireEvent()
这是微软IE浏览器用以替代
EventTarget.dispatchEvent()
的私有方法,与EventTarget.dispatchEvent()
不同的是通过fireEvent()
触发的事件不会触发事件的默认行为。
例如,通过fireEvent()触发<input type="checkbox">的点击事件并不会切换checkbox的选中状态。
cancelled = target.fireEvent(eventNameWithOn, event)
兼容性如下
image.png
image.png
PASS~
PLAN B: oninput + onpropertychange
oninput 兼容性
image.png
IE9以下使用onpropertychange
<input oninput="handleChange" onpropertychange="handleChange" />
GET~
内容来源地址:https://blog.csdn.net/chenlaoyang/article/details/8903770
# select控件的oninput事件发送在onchange之前
# 如果是脚本赋值select控件的话,目前想到的方案是手动触发一次(待续)