我在某个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
答案 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后才能运行脚本。
<!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;