0

以下代码未按预期工作。我正在使用“脚本标记绑定方法”来触发事件。你能解决这个问题吗?谢谢

<html>

    <head>

                <title>
                    Example
                </title>

    </head>

    <body>

        <input type="button" name="cmdScriptTag" value="Script Tag">

                <script language="javascript" For="cmdScriptTag" Event="OnClick">

                    alert("Script Tag Binding Method.");

                </script>

        </body>

</html>
4

1 回答 1

1

在您的代码中,您有:

> <script language="javascript" For="cmdScriptTag" Event="OnClick">

脚本元素的语言属性在 HTML 4 中已弃用,并在 HTML5 中删除。type属性在 HTML 4 中是必需的,在 HTML5 中是可选的。在实践中,这不是必需的,您可以使用:

<script>
  /* content */
</script>

脚本元素的for属性是 Microsoft 专有功能,它不属于任何标准,并且可能在 IE 之外根本不受支持(并且可能不受当前 IE 版本支持)。它在DOM 2 HTML 规范中保留供将来使用,但从未为脚本元素实现(据我所知)。它仅适用于 HTML 4.01 中的标签元素,与HTML5相同。

据我所知,从来没有event属性,它可能与for属性有关,但都没有在MSDN中列出。

event属性类似于for属性:它是一种 IE 功能,尚未广泛实施,它将脚本元素中的脚本与另一个元素的事件相关联。本质上,它与使用其他符合标准的方法将脚本与元素和事件相关联相同,但更笨拙。

在任何情况下,要将函数与将在元素接收到特定事件时调用的元素相关联,您可以使用多种方法。最强大和最广泛实施的是内联侦听器,例如:

<input type="button" name="cmdScriptTag" value="Script Tag"
 onclick="alert('Script Tag Binding Method.');">

虽然通常脚本主体放在由侦听器调用的函数中,例如

<script>
  function foo(){
      alert('Script Tag Binding Method.');
  }
</script>
<input type="button" name="cmdScriptTag" value="Call foo"
 onclick="foo();">

您还可以使用各种方法动态附加侦听器,例如addEventListener , Mozilla 开发人员网络(MDN)对此进行了说明。

于 2012-11-23T02:12:39.617 回答