根据官方文件,此事件是:
当字段模糊时触发,如果值已更改;
现在,它如何知道价值是否已经改变?它存放在某个地方吗?我问的原因是:我可以复制这种行为吗?
由于
答案 0 :(得分:0)
我认为它会存储原始值并将当前值与原始值进行比较。
如果通过复制意味着触发事件,那么您可以在此处阅读:http://api.jquery.com/trigger/
答案 1 :(得分:0)
这是由浏览器解决的。您还可以通过将处理程序附加到onchange事件来触发文本输入上更改的值:
<input onchange="alert('value changed!');" />
还有Javascript:
document.getElementById("my_text_input").onchange = function(){
alert("value changed!");
}
当然,您可以复制此行为。你可以try it yourself here。
[编辑]
你有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
}
})();