Javascript 将值从焦点传递到模糊函数的最佳方法?

Javascript 将值从焦点传递到模糊函数的最佳方法?,javascript,jquery,focus,blur,Javascript,Jquery,Focus,Blur,我试图将函数从聚焦函数传递到模糊函数。如果值相同,则不必运行其他验证。如果值不同,那么我将发送ajax调用,并确保该值在数据库中不存在。一种方法是使用全局变量。有没有其他方法可以通过JavaScript/JQuery实现这一点?下面是一个例子: var-defaultNumber; $(“.check number”).focus(函数(){ defaultNumber=$(this.val(); }).blur(函数(){ var currNumber=$(this.val(); 如果(cu

我试图将函数从聚焦函数传递到模糊函数。如果值相同,则不必运行其他验证。如果值不同,那么我将发送ajax调用,并确保该值在数据库中不存在。一种方法是使用全局变量。有没有其他方法可以通过JavaScript/JQuery实现这一点?下面是一个例子:

var-defaultNumber;
$(“.check number”).focus(函数(){
defaultNumber=$(this.val();
}).blur(函数(){
var currNumber=$(this.val();
如果(currNumber!==defaultNumber){
log('Send request…');
/*
检查数据库中是否已经存在值的Ajax调用。
*/
}
});

您可以将旧值保存为焦点上的数据属性,并将当前值与模糊上的数据属性进行比较。
var-defaultNumber;
$(“.check number”).focus(函数(){
$(this.attr('data-prev',$(this.val());
}).blur(函数(){
var currNumber=$(this.val();
if(currNumber!==$(this.attr('data-prev')){
log('Send request…');
/*
检查数据库中是否已经存在值的Ajax调用。
*/
}
});

不需要存储,有

var-defaultNumber;
$(“.check number”).blur(函数(){
console.log(this.defaultValue!==this.value)
});


defaultValue
仅适用于聚焦和模糊情况,还是也可用于其他情况?这是正确解决方案的答案。我尝试了其他建议的解决方案,但都不起作用。您能否解释一下
如何保持上一个对象的数据属性?@espresso_coffee
引用文本输入本身,数据属性与输入相关联,因此您可以像访问其他属性/属性一样访问它。在这种情况下,每次输入获得焦点时都会更新“data prev”,并在输入失去焦点后使用该值进行比较。