Html/Javascript - Onfocus event

Html/Javascript - Onfocus event

本文关键字:Onfocus event Javascript Html      更新时间:2023-09-26

所以,我试图确保我正在跨浏览器工作的页面,要做到这一点,我试图在<script>标签内调用'onfocus'事件-不幸的是,我所尝试的不工作,目前我不确定为什么。如有任何建议或反馈,我将不胜感激。

<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 =
            'document.getElementsByName("searchField")[0].value="";';
    }
</script>

添加事件的更好方法是:

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>