Html/Javascript-Onfocus事件

Html/Javascript-Onfocus事件,javascript,html,Javascript,Html,因此,我试图确保我正在处理的页面能够跨浏览器工作,为此,我尝试在标记中调用“onfocus”事件-不幸的是,我尝试的方法不起作用,目前我不确定原因。如有任何建议/反馈,将不胜感激 if(!(.createElement(“输入”)中的占位符){ document.getElementsByName(“searchField”)[0]。值=“搜索用户”; document.getElementsByName(“searchField”)[0]。onfocus= 'document.getElem

因此,我试图确保我正在处理的页面能够跨浏览器工作,为此,我尝试在
标记中调用“onfocus”事件-不幸的是,我尝试的方法不起作用,目前我不确定原因。如有任何建议/反馈,将不胜感激


if(!(.createElement(“输入”)中的占位符){
document.getElementsByName(“searchField”)[0]。值=“搜索用户”;
document.getElementsByName(“searchField”)[0]。onfocus=
'document.getElementsByName(“searchField”)[0].value=”“;';
}

添加事件的更好方法是:

document.getElementsByName("searchField")[0].onfocus = function () {
    document.getElementsByName("searchField")[0].value = "";
                                // ^ fixed that typo
    this.value = ""; // also works, `this` is a magic variable
};

您可以继续键入JavaScript,而不是分配字符串,并依靠
eval

添加事件的更好方法是:

document.getElementsByName("searchField")[0].onfocus = function () {
    document.getElementsByName("searchField")[0].value = "";
                                // ^ fixed that typo
    this.value = ""; // also works, `this` is a magic variable
};
您可以继续键入JavaScript,而不是分配字符串并依赖于
eval

它的工作

<input name="searchField" placeholder="Search users" type="text" size="60" maxlength="150" id="SearchBox" style="margin-top:15px; height:auto;"/>
      <script type="text/javascript">
        if (!("placeholder" in document.createElement("input")))
        {
            document.getElementsByName("searchField")[0].value='Search users';
            document.getElementsByName("searchField")[0].onfocus=function(){
                 document.getElementsByName("searchField")[0].value="";
            };
        }
    </script>

if(!(.createElement(“输入”)中的占位符)
{
document.getElementsByName(“searchField”)[0].value='Search users';
document.getElementsByName(“searchField”)[0].onfocus=function(){
document.getElementsByName(“searchField”)[0]。value=“”;
};
}
这是工作

<input name="searchField" placeholder="Search users" type="text" size="60" maxlength="150" id="SearchBox" style="margin-top:15px; height:auto;"/>
      <script type="text/javascript">
        if (!("placeholder" in document.createElement("input")))
        {
            document.getElementsByName("searchField")[0].value='Search users';
            document.getElementsByName("searchField")[0].onfocus=function(){
                 document.getElementsByName("searchField")[0].value="";
            };
        }
    </script>

if(!(.createElement(“输入”)中的占位符)
{
document.getElementsByName(“searchField”)[0].value='Search users';
document.getElementsByName(“searchField”)[0].onfocus=function(){
document.getElementsByName(“searchField”)[0]。value=“”;
};
}

你有没有注意到“serarchField”对“searchField”?天哪,我真蠢。现在就改变它…你真的想在每次聚焦时清空字段吗?我建议你使用现有的占位符库。只是用正确的拼写更新了它,我仍然没有运气。你注意到“serarchField”和“searchField”了吗?天哪,我真傻。现在就改变它…你真的想在每次聚焦时清空字段吗?我建议你使用现有的占位符库。只是用正确的拼写更新了它,我仍然没有运气。哦,哇,谢谢你。我不知道'this'变量。我认为这应该读作“添加事件的正确方法是..”@hop,不太清楚。添加事件的正确方法是使用
addEventListener
,但这仍然有点复杂。噢,哇,谢谢你。我不知道'this'变量。我认为这应该读作“添加事件的正确方法是..”@hop,不太清楚。添加事件的正确方法是使用
addEventListener
,但这仍然有点复杂。