3

所以,我有一个输入栏,如果它被修改,我想不断搜索它。我检查了一些 stackoverflow 问题,例如检测 DOM 更改事件,并检查了这个 DOMSubTreeModified 事情。

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

4

2 回答 2

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")
});
于 2012-12-11T12:59:49.613 回答
0

您是在谈论input标签价值的变化吗?在这种情况下,您不是在谈论正在更改的 DOM。尝试onKeyDown事件处理程序。

document.getElementById('input').addEventListener('keydown', function() {
  // Perform search
});
于 2012-12-11T13:03:23.010 回答