如何在HTML中触发onChange事件,即使内容在js中发生了变化

How to trigger an onChange event in HTML, even if the content is changed in js?

本文关键字:js 发生了 变化 事件 HTML onChange      更新时间:2023-09-26

我知道只有当元素被模糊时才会触发HTML onChange事件。

但是当文本框的内容发生变化时,是否有一种方法可以运行脚本?即使在Javascript中更改?

我有一个文本框在我的表单中选择日期。我还有一个日历按钮,可以选择日期。这个日历写在文本框里,我想在日期改变的时候做点什么。

我不能更改日历的Javascript。

我还希望兼容所有主流浏览器(IE7-9, Firefox, Chrome, Safari, Opera,…)

您正在寻找突变事件(例如:DomAttrModified)。

我找到了一个可能不是更好的答案,但仍然有效。它使用javascript计时器。

function watchElement()
{
    var newVal = document.FormName.TextboxName.value;
    if(oldVal != newVal) {FunctionToCall();}
    oldVal = newVal;
}
var oldVal = document.FormName.TextboxName.value;
setInterval(watchElement, 500);

我知道这不是世界上最好的代码,但它适用于所有主要的浏览器