是onclick嵌入式JavaScript吗?

时间:2011-08-03 08:12:57

标签: javascript html semantics

这可能是一个主观问题。如果是这样,请关闭它。

onclick是否算作嵌入式JavaScript?

或者它通常只是被称为实际上是JavaScript部分的方法吗?

2 个答案:

答案 0 :(得分:2)

我不确定你在问什么,但无论如何我都会去。

您可以添加到HTML元素(onclick)的<a onclick="">属性是HTML。但是,它的值是当用户单击元素时运行的JavaScript。 JavaScript(以及JavaScript与HTML元素的click事件之间的关联)确实嵌入在HTML页面中,这意味着您必须更改HTML页面以更改JavaScript(或删除关联)。

为避免将JavaScript嵌入到HTML页面中,您可以通过JavaScript向元素的onclick DOM属性添加处理函数:

  1. 通过<script src="">标记向您的网页添加JavaScript文件。
  2. 在该文件中,设置一些代码以在页面加载时运行(或者当DOM准备就绪时,这本身就是一个完整的其他主题)。
  3. 让该代码向HTML元素添加onclick处理函数。
  4. E.g。如果您的HTML看起来像这样

    <a id="needs_onclick">I need an onclick handler</a>
    

    然后你可以像这样在链接中添加一个onclick处理程序:

    window.onload = function(){
        document.getElementById("needs_onclick").onclick = function(){
            alert("Clicked!");
        }
    }
    

    此方法不会被描述为“嵌入式JavaScript”,因为它使用onclick DOM属性,而不是onclick属性。

答案 1 :(得分:0)

  

(...)称为“事件处理程序”的函数。这些命令有效   直接使用现有的HTML命令。事实上他们的工作非常紧密   它们通过嵌入HTML 命令本身来工作。

来源:http://www.htmlgoodies.com/beyond/javascript/article.php/3470771/Advanced-JavaScript-for-Web-Developers-onClick-and-onMouseOver.htm

来自强大的Google。花了大约15秒才找到它。