模糊函数,设置最后一个值

Blur function, set the last value

在我的输入中,我有一个函数,当用户点击它时,它会删除输入的值。 没问题。

我正在尝试为输入字段中的 "rewrite" 编写一个函数,如果用户没有在模糊上填充它,则为最后一个已知值。

当我只有 一个输入 使用以下代码时它工作正常:

    $("input").blur(function() {

    if ($(this).val().length != 0){}

    else{    
    $("#angleplansup1").val(parameters5.a1);                        
    }
}

);

    parameters5.a1 = Number($('#angleplansup1').val());

问题是我有很多输入,当我把它们全部搁置时它不起作用,因为它们都会改变...(这是合乎逻辑的)。

所以,我正在寻找一种方法来放置最后一个已知值。

        $("input").blur(function() {

    if ($(this).val().length != 0){}

    else{    
    $(this).val("the last known value");                        
    }
}

);

我尝试使用 document.activeElement 但它似乎不适用于模糊。

另一种方法是将一种开关或数组自动化,但我还不够熟练,无法考虑它,我想听听您对此的看法。 如果有帮助,这是我的代码和其他变量。 非常感谢你。 祝你有个愉快的一天。

$("input").blur(function() {

    if ($(this).val().length != 0){}

    else{    
        $("#hauteuraxe1").val(parameters5.h);
        $("#angleplansup1").val(parameters5.a1);            
        $("#grandehauteur2").val(parameters5.gh);           
        $("#delta2").val(parameters5.delta);            
        $("#petitehauteur3").val(parameters5.ph);           
        ...
        ..
        .
    }
});



    parameters5.h = Number($('#hauteuraxe1').val());    
    parameters5.a1 = Number($('#angleplansup1').val());
    parameters5.gh = Number($('#grandehauteur2').val());
    parameters5.delta = Number($('#delta2').val());
    parameters5.ph = Number($('#petitehauteur3').val());
    ...
    ..
    .

首先你需要坚持你的价值观。为此,我创建了一个对象 values,它包含 'id' : 'value" 这样的值。在每个 blur 之后,如果有一个值,我将文本存储在 values 中。如果blur后没有值,我就设置前一个

看例子

var values = {};

$('input').on('blur', function(e){
  var target = e.currentTarget;
  
  if(target.value){
    values[target.id] = target.value
  } else {
    target.value = values[target.id];
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="a" />
<input id="b" />