Jquery输入值变化检测

如何检测输入值是否在模糊事件中发生了变化?

例如,每个输入字段都有默认值(可以为空),在当前输入松散之后我们应该确定焦点,值是否已更改。

这该怎么做?

比较defaultValue

 

订阅.change()而不是.blur() 。 这样您就会知道值已更改。

您可以切换到.change()事件而不是.blur(),但我认为从根本上来说存在各种各样的缺陷。 我建议使用Jonathan Azoff的Changed jQuery插件( http://www.azoffdesign.com/changed )。 在这种情况下这可能有点过头了,所以……

有很多方法可以做到这一点,其中一种方法是将旧值存储为输入的数据属性,然后将输入值与模糊的旧值进行比较。 如果两个值不同,则更改。

例:

   

您可以使用后端类型的东西存储此值,甚至可以在页面加载时执行此操作。 然后在模糊,你可以有一个像这样的事件:

  $('input').blur(function() { if ($(this).data('old') != $(this).val()) // It changed! Do something! } 

如果旧值为“Jack”,然后您将名称更改为“Bob”并触发模糊事件,则会看到“Jack”不等于“Bob”,并执行您的操作。

希望有所帮助。 祝好运。

直接来自jQuery文档

 $("input[type='text']").change( function() { // check input ($(this).val()) for validity here }); 

您可以在焦点上保存输入值,并使用模糊输入中的值进行检查。