java脚本行为没有说输入没有定义

时间:2018-06-12 01:40:28

标签: javascript javascript-events

当我编写代码来制作占位符并在用户编写时隐藏它时,我错了并使用了未在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

2 个答案:

答案 0 :(得分:0)

如果未定义输入,您的脚本将失败,可能是您的代码或您正在使用的第三方库中某处定义了该变量。

尝试在项目文件中搜索它。

答案 1 :(得分:0)

由于浏览器会自动使用placeholder属性,因此对于现代浏览器,无需清除占位符和重置。当输入为空时,浏览器将自动显示它,并在用户输入值后立即清除它。所以你可以删除你所有的java脚本,占位符仍然可以正常工作 - (Patrick Evans)在评论中回答