脚本标记绑定方法 - JavaScript

时间:2012-11-23 00:43:01

标签: javascript javascript-events

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

<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>

1 个答案:

答案 0 :(得分:1)

在您的代码中,您有:

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

脚本元素的语言属性在HTML 4中已弃用,在HTML5中已删除。 类型属性在HTML 4中是必需的,在HTML5中是可选的。在实践中,没有必要,你可以使用:

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

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

据我所知,从未有过事件属性,它可能与 for 属性相关,但都没有列在{ {3}}

MSDN属性类似于 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();">

您还可以使用event等各种方法动态附加侦听器,addEventListener(MDN)对此进行了解释。