解决input输入框在使用类似Vue框架时,手动赋值不触发事件问题
使用场景
处理程序模拟输入值后,绑定到input上的事件不触发问题(一般处理框架中在input上绑定的事件)
function setInputData(el, value) {
// 缓存input value 属性的set方法
let setValueFunc = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set
setValueFunc.call(el, value)
// 此处为触发input的input事件
let e = new Event('input', { bubbles: true })
el.dispatchEvent(e)
}
setInputData(inputDom, mobile)