javascript只适用于<script>标签,而不适用于js文件

时间:2017-01-01 00:05:08

标签: javascript html

我正在制作一个可点击的下拉菜单。但是当我在自己的js文件中运行javascript时,js不起作用。但是,当我将javascript放在我的html文档中的标签时,菜单工作得很好。有谁知道如何让javascript在自己的js文件中工作?

&#xA;&#xA;
  function myFunction(){&#xA; document.getElementById(“myDropdown”)。classList.toggle(“show”);&#xA;}&#xA;&#xA; window.onclick = function(event){&#xA; if(!event.target.matches('。dropbtn')){&#xA;&#xA; var dropdowns = document.getElementsByClassName(“dropdown-content”);&#xA; var i;&#xA; for(i = 0; i&lt; dropdowns.length; i ++){&#xA; var openDropdown = dropdowns [i];&#xA; if(openDropdown.classList.contains('show')){&#xA; openDropdown.classList.remove( '节目');&#XA; }&#XA; }&#XA; }&#XA;};&#XA;  
&#XA;

3 个答案:

答案 0 :(得分:3)

尝试

document.addEventListener('DOMContentLoaded', function() {
  // do stuff here

}, false);

答案 1 :(得分:2)

您需要创建一个名为script.js的JS文件,然后在关闭body标签之前将其添加到HTML文档中:

<script src="script.js"></script>

我假设你没有正确包含脚本。检查控制台是否有错误。

此外,如果您在head部分中包含脚本,则可以在HTML之前加载脚本,因此可能无法找到选择器。在HTML文档的末尾包含脚本(在关闭body标签之前)将确保在执行脚本之前加载文档。

答案 2 :(得分:0)

要从外部文件执行JavaScript,您需要使用以下内容将文件包含在HTML文件中:

<head>
        <script type="text/javascript" src="location/of/file/filename.js"></script>
</head>

从那里,使您正在使用的HTML元素调用您希望执行的JavaScript函数。

示例:

<button onclick="functionName()">Click!</button>

然后,这将转到您在JavaScript文件中调用的函数并执行函数体。