onBlur - 在onfocus清除后恢复输入值

时间:2016-03-05 12:49:44

标签: jquery input getelementbyid onblur onfocus

我有几个动态插入值的输入字段。下面是一个简化的例子:

<input id="amount1" type="number" onfocus="" oninput="update()"
<input id="amount2" type="number" onfocus="" oninput="update()"
<input id="amount3" type="number" onfocus="" oninput="update()"

使用以下函数插入值:

document.getElementById("amount1").value = Amount1;
document.getElementById("amount2").value = Amount2;
document.getElementById("amount3").value = Amount3;

用户单击输入字段后,该值将被清除,但如果未输入任何内容,则我希望onblur恢复该值。无法在Javascript或Jquery中找到解决方案。

2 个答案:

答案 0 :(得分:1)

java -jar task1.jar

只需复制代码即可。它肯定会起作用

答案 1 :(得分:0)

您可以将值存储在元素的data-属性中。

<input id="amount1" type="number" onfocus="focus(event)" oninput="update()" onblur="blur(event)">

存储原始值:

function focus(e) {
    var elm = $(e.target);
    elm.data('orig-value', elm.val());
    elm.val('');
}

然后恢复onblur事件:

上的值
function blur(e) {
    var elm = $(e.target);
    if (!elm.val()) {
        elm.val(elm.data('orig-value'));
    }
}