隐藏输入元素内的文本

时间:2014-12-15 18:29:12

标签: javascript jquery html forms

我有一个文本输入,我想在给定事件中隐藏文本内部(我禁用输入,当不需要时)。当给定的事件被颠倒时,我想显示隐藏的文本。

我知道我可以存储值并根据需要进行检索。我想避免移动数据,因为这是一个纯粹的整容操作。

可以隐藏输入文本,还是仅在输入中操作数据?我想要最简单的解决方案。

我可以使用纯JS和jQuery。

2 个答案:

答案 0 :(得分:2)

关于如何在元素的数据集中存储输入元素的值的示例。

并在悬停时显示/隐藏它。



var hello = document.getElementById('hello');
hello.dataset.value = hello.value;
hello.value = '';
hello.addEventListener('mouseover', function() {
  hello.value = hello.dataset.value;
});
hello.addEventListener('mouseout', function() {
  hello.value = '';
});

<input id="hello" value="Hello World" />
&#13;
&#13;
&#13;

答案 1 :(得分:2)

我会使用&#34;值&#34;同一输入对象的属性,因为该属性是默认值。在这种情况下,您甚至不需要任何其他变量。这种方法的想法来自属性和属性之间的差异。这意味着如果更改对象的value属性,则属性值将保持与之前相同。

&#13;
&#13;
var input = document.querySelector('input');

function hide() {
    input.value = "";
}

function show() {
    input.value = input.getAttribute('value');
}
&#13;
<input type="text" value="Some text">
<button onclick="hide()">Hide</button>
<button onclick="show()">Show</button>
&#13;
&#13;
&#13;