Javascript 焦点上的占位符删除(无jq)

Javascript 焦点上的占位符删除(无jq),javascript,Javascript,如何删除焦点上的占位符并在模糊时再次重置占位符?(仅限javascript) 我试过: const input = document.getElementById('input'); // This code is for clear placeholder value if(input.placeholder){ input.addEventListener('focus' , (e) => { input.placeholder = ''; }); }

如何删除焦点上的占位符并在模糊时再次重置占位符?(仅限javascript)

我试过:

const input = document.getElementById('input');

// This code is for clear placeholder value
if(input.placeholder){
    input.addEventListener('focus' , (e) => {
        input.placeholder = '';
    });
}else {
    input.addEventListener( 'blur' , () => {
        input.placeholder = 'hi'
    });
};
这是可行的,但我不知道如何重置以前的值。

const input=document.getElementById('input');
//用于保存占位符值的变量
让placeholerValue=“”
input.addEventListener('focus',(e)=>{
//在变量中保存占位符值
占位符值=输入。占位符
console.log(“保存”,占位符值)
//清除占位符
input.placeholder='';
日志(“清除!”)
});
input.addEventListener('blur',()=>{
//从变量还原占位符
input.placeholder=占位符值
日志(“还原”,占位符值)
});
简单地说:

const input=document.getElementById('input');
input.onfocus=()=>
{
如果(!input.PlaceHoleValue)input.PlaceHoleValue=input.PlaceholeValue
input.placeholder=''
}
input.onblur=()=>
{
input.placeholder=input.placeholerValue
}
如果需要单线解决方案,请尝试