如何在HTML中触发onChange事件,即使内容在js中更改?

时间:2011-10-18 17:07:27

标签: javascript html javascript-events input html-form

我知道HTML onChange事件仅在元素模糊时触发。

但是当文本框的内容发生变化时,有没有办法运行脚本?即使它在javascript中被更改了?

我的表单中有一个文本框来选择日期。我还有一个带日历的按钮来选择日期。此日历在文本框中写入,我希望在日期更改时执行某些操作。

我无法更改日历的javascript。

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

2 个答案:

答案 0 :(得分:2)

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

请参阅Detect element content changes with jQuery这是否有助于您作为首发。

答案 1 :(得分:0)

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

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

var oldVal = document.FormName.TextboxName.value;
setInterval(watchElement, 500);

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