更新时间:2023-02-26 14:53:32
我认为有两种方法可以尝试:
第一个是手动处理on change事件,而不考虑事件冒泡或传播,然后在更改元素的值后立即调用 onchange
。像这样:
I think there are 2 ways you can try:
1st is manually handle the on change event, without considering event bubble or propagation, then call onchange
right after you change the value of element. Like this:
var myEle = document.getElementById("hoge");
myEle.value = 1; // <- (1)
myEle.onchange()
第二个是它自然就像浏览器一样工作,然后尝试在该元素上创建和分发事件。像这样:
2nd is to make it naturally like browsers work, then try to create and dispatch event on that element. Like this:
if ("createEvent" in document) {
var event = document.createEvent("HTMLEvents");
event.initEvent("change", false, true);
myEle.dispatchEvent(event);
} else
myEle.fireEvent("onchange");