JavaScript - 如何检测选择元素(下拉列表)上的编程值更改

2023-12-07

在 JavaScript 中,我需要检测某个 select 元素的值何时发生变化any原因,包括以编程方式。

仅当用户手动更改所选值时才会触发 onchange 事件,not当其他 JavaScript 以编程方式更改该值时。

这是一个包含各种插件组件的网站,我们不想破解这些组件(在某些情况下can't破解,因为代码驻留在其他站点上)。因此,每当有程序性更改时,我自己触发更改事件并不是一种选择。我需要实际监控选择,listen到它,以改变价值。

这可能吗?我还没有找到办法。

是否有一些库可以用来频繁轮询值以查找更改?或者其他方式?


var targetSelect = $('appropriate selector');
var lastVal = targetSelect.val();

setInterval(function() {
    var newVal = targetSelect.val();
    if(newVal !== lastVal) {
        // it changed, fire an event or process it
    }
    lastVal = newVal;
}, intervalSpacing);

传递给“intervalSpacing”的值越低,花费的 CPU 时间就越多,但您也越早意识到它发生了变化。谨慎调整。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript - 如何检测选择元素(下拉列表)上的编程值更改 的相关文章

随机推荐