当我编写代码来制作占位符并在用户编写时隐藏它时,我错了并使用了未在JavaScipt文件中定义的输入并且它完美地工作:
var input4=document.getElementById("Message");
var place4=input4.placeholder;
input4.onfocus= function()
{
// this is input
if(input.text!="")
input4.placeholder="";
}
input4.onblur= function()
{
input4.placeholder=place4;
}
然后我写相同的代码并使用我定义的变量" input4"它没有区别:
var input4=document.getElementById("Message");
var place4=input4.placeholder;
input4.onfocus= function()
{
// this what i forget to do,use input4 that i defined
if(input4.textContent!="")
input4.placeholder="";
}
input4.onblur= function()
{
input4.placeholder=place4;
}
我的问题是JavaScript是如何知道input
是我的元素Message
中的用户输入的?
这是一个小项目:enter link of project and see
pm:我使用jsfiddle
答案 0 :(得分:0)
如果未定义输入,您的脚本将失败,可能是您的代码或您正在使用的第三方库中某处定义了该变量。
尝试在项目文件中搜索它。
答案 1 :(得分:0)
由于浏览器会自动使用placeholder
属性,因此对于现代浏览器,无需清除占位符和重置。当输入为空时,浏览器将自动显示它,并在用户输入值后立即清除它。所以你可以删除你所有的java脚本,占位符仍然可以正常工作 - (Patrick Evans)在评论中回答