0

根据官方文档,这个事件是:

当字段模糊时触发,如果值发生了变化;

现在,它如何知道值是否已更改?它存储在某个地方吗?我问的原因是:我可以复制这种行为吗?

谢谢

4

2 回答 2

0

这由浏览器解决。您还可以通过将处理程序附加到 onchange 事件来触发文本输入上更改的值:

<input onchange="alert('value changed!');" />

而且在 Javascript 中:

document.getElementById("my_text_input").onchange = function(){
    alert("value changed!");
}

当然,您可以复制这种行为。你可以在这里自己试试

[编辑]
你有 onblur 事件,每次用户离开控件时都会触发。
您可以跟踪输入值,或设置一个标志以使更改和模糊事件都可以访问:

(function(){
    var changed = false;

    document.getElementById("my_text_input").onchange = function(){
        changed = true;
    }
    document.getElementById("my_text_input").onblur = function(){
        if (!changed) {
            //Your logic here
        }
        changed = false; //set it back to false for next loss of focus
    }
})();
于 2012-09-13T13:16:33.540 回答
0

我认为它存储原始值并将当前值与模糊的原始值进行比较。

如果通过复制你的意思是触发事件,那么你可以在这里阅读:http: //api.jquery.com/trigger/

于 2012-09-13T13:15:09.457 回答