jQuery - 预定义输入(对 blut、fous、change 的反应)

jQuery - predefined input (reaction on blut, fous, change)

我的表单输入很少。一旦你专注于输入预填充的“0”消失,你就可以输入你自己的值了。如果您没有输入任何内容并且输入为空,则 focus out 输入将设置回“0”。这运作良好。

当我再次关注输入值之前设置为不同于 0 且不为空时,问题就开始了。假设我输入 2,一旦我专注于它并在不编辑任何内容的情况下专注于它,值将设置为“0”。

我想做的是,不同于“0”的值不会消失,光标将设置在允许标准编辑选项的最后输入。

希望我解释清楚。

我的代码:

<input type='text' class='pack' name='pack01' id='pack01' value='0'/><br>
<input type='text' class='pack' name='pack02' id='pack02' value='0'/>

JS:

$("input[name^=pack]").on("blur", function () {
    if (!this.value) {
        this.value = "0";
    }
});

$("input[name^=pack]").on("focus", function () {
    if (this.value = "0") {
        this.value = "";
    }   
});

JSFiddle: https://jsfiddle.net/nitadesign/vop1vt4p/6/

你的问题就在这里

$("input[name^=pack]").on("focus", function () {
    if (this.value = "0") {
        this.value = "";
    }   
});

在您设置的 if 语句中 this.value = 0(注意单个等号)- 相反,您应该这样做:

if (this.value == "0") {
  this.value ="";
}

希望对您有所帮助!