1

因此,我试图确保我正在处理的页面可以跨浏览器工作,为此我尝试在<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>
4

2 回答 2

1

添加事件的更好方法是:

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.

于 2013-04-09T16:27:21.320 回答
0

这是工作..

<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>
于 2013-04-09T16:36:36.343 回答