检测DOM何时连续改变输入值

时间:2012-12-11 12:55:45

标签: javascript

所以,我有一个输入栏,我想继续搜索它是否被修改过。我检查了一些stackoverflow问题,如Detecting DOM change events,我检查了这个DOMSubTreeModified事。

它第一次运行,但我需要不断检查是否有更新。有没有办法循环呢?

2 个答案:

答案 0 :(得分:3)

您可以使用时间间隔:

var oldVal = document.getElementById("yourInput").value;
function check(){
    if(document.getElementById("yourInput").value !== oldVal){
        alert("value changed");
    }
}

setInterval(check, 1000);

代码应该是自我解释的:)

或者您可以绑定更改或输入事件(但如果您使用javascript更改值,它们将不起作用)。对不起在这个例子中使用jQuery:)

$("#yourInput").on("change input", function(event){
    alert("value changed")
});

答案 1 :(得分:0)

您是在谈论input代码的价值变化吗?在这种情况下,你不是在谈论被改变的DOM。试试onKeyDown事件处理程序。

document.getElementById('input').addEventListener('keydown', function() {
  // Perform search
});