如何更改输入字段的值后退焦点

How to Change the Value of an Input Field Back off Focus

我已经设法将输入字段 onfocus 的文本值更改为空,但我不知道如何让它在网页上其他任何地方的 onclick 上变回 HTML:

<input type="text" value="this is value" id="text">

JS:

 document.getElementById("text").onfocus = function() {
            var value = "on"
            if (value==="on") {
            document.getElementById("text").value=""
                value="off"
            } else {
                document.getElementById("text").value="this is value"
                value="on"
            }
            window.onclick = function() {
                document.getElementById("text").value="this is value"
            }
        }

我不确定我是否理解正确。但我认为你在这里不需要这么复杂的东西,如果你愿意,你可以简单地使用 placeholder. Then you can clear it on the input focus with onfocus event and again show it with onblur 事件。

<input type="text" placeholder="this is value" onfocus="this.placeholder = ''" onblur="this.placeholder = 'this is value'" id="text">

否则,您可以简单地创建占位符并保留它,直到用户用他们想要的值填充输入。

<input type="text" placeholder="this is value" id="text">

我不太清楚你在尝试什么,但我想你可能需要一个 blur 活动。

var input = document.getElementById("text");
var value = "on";

input.addEventListener("focus", function() {
  if (value == "on") {
    input.value = "";
    value = "off";
  }
  else {
    text.value = "this is value";
    value = "on";
  }
});

input.addEventListener("blur", function () {
  input.value = "this is value";
  value = "on";
});
<input type="text" value="this is value" id="text">

onfocus 事件旁边是 onblur 事件。第二个将被调用,当其他东西被喜欢并且输入失去焦点时。检查这个 article.

以下代码应该可以满足您的要求:

 document.getElementById("text").onfocus = function() {
    document.getElementById("text").value=""
 }
document.getElementById("text").onblur = function() {
    document.getElementById("text").value="this is value"
}