JS操作模态框input赋值,不能触发input change keydown 事件,input输入框也不能获取焦点
用js赋值不会触发相关的事件,需要用创建事件对象后触发,前提是控件绑定过事件,这个需要浏览器开发工具来检查绑定了什么事件
<input type="text" id="t" />
<script>
t.addEventListener('change', function () { alert(t.value) });
t.value = '1111';//不会触发change事件
function fireEvent(el) {
const e = new Event('change');
el.dispatchEvent(e);
}
//2s后手动触发事件
setTimeout(function () {
t.value = '222';
fireEvent(t);//脚本触发事件
}, 2000)
</script>