在没有集中注意力的情况下捕捉输入值的变化

时间:2011-07-13 23:07:54

标签: jquery focus

我想创建一个属性(例如markChanges ='true'),该属性将自动检测输入的值是否已更改,但仅限于该输入未被聚焦。

(值当然可以从js代码改变)

我该怎么做?

1 个答案:

答案 0 :(得分:2)

似乎唯一的解决方案就是民意调查,这意味着您必须使用setInterval()。查看this fiddle以获取示例。代码是

function detectChange(input, interval) {
    var previous = "";

    setInterval( function() {

        var val = $(input).val();
        if (  val != previous ) {
            previous = val;
            alert("Input has changed");
        }

    }, interval);
}

detectChange("input", 100);

setTimeout( function() {
    $("input").val("some value!");
}, 4000);