导航到页面后运行javascript

时间:2018-04-21 19:40:17

标签: javascript dom pug dom-events

我在某个pug文件中有以下javascript:

doctype html
html
    //- this is not firing for some reason
    head

        script(type="text/javascript").
          document.addEventListener('DOMContentLoaded', function() {
              console.log('ready!')
         }, false);

脚本仅在我刷新页面时运行,而不是在我导航到脚本不触发的页面时运行。我正在寻找像onNavigate这样的活动,但我在此处的列表中看不到它:https://www.w3schools.com/jsref/dom_obj_event.asp或此处:https://developer.mozilla.org/en-US/docs/Web/Events

3 个答案:

答案 0 :(得分:1)

您的代码应该可以正常工作(如果代码以这种方式编写)。没有看到问题。

<!doctype html>
   <html>
    <body>
      <script type="text/javascript">
        document.addEventListener('DOMContentLoaded', function() {
           console.log('ready!')
        }, false);
      </script>
    </body>
   </html>

<!doctype html>
<html>
<body>
<script type="text/javascript">
  window.onload = function() {
    console.log('ready!')
  };
</script>
</body>
</html>

答案 1 :(得分:0)

雅知道在任何css和js加载之后发生了正文OnLoad事件 - 包括外部引用。

你真正需要的是:

<body onload="do_this()">

然后在脚本元素

function do_this(){
//  do sh1t
}

答案 2 :(得分:-1)

将脚本放在正文末尾始终是一个好习惯,这样只有在浏览器呈现DOM后才能运行脚本。

&#13;
&#13;
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<h1>My First Heading</h1>
<p>My first paragraph.</p>


<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
    alert("Ready!");
}, false);
</script>

</body>
</html>
&#13;
&#13;
&#13;