且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何检测DOM属性的变化?

更新时间: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");