【发布时间】:2017-02-20 23:09:15
【问题描述】:
我用过
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
<button type="button" id="button">Click</button>
<pre id="output">Not Loading...</pre>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.17.0/babel.min.js"></script>
<script type="text/babel">
document.addEventListener('DOMContentLoaded', function () {
const button = document.getElementById('button');
const output = document.getElementById('output');
output.textContent = 'Loading...';
addEventListener('click', function () {
output.textContent = 'Done';
});
});
</script>
</body>
</html>
但document.addEventListener('DOMContentLoaded', function () {}); 中的代码似乎没有加载。
如果我从我的代码中删除它,它会突然起作用。
我已经发了JS Bin here。
【问题讨论】:
-
FWIW,根本不需要使用
DOMContentLoaded。您的脚本已经在文档的最后,这已经足够好了。 -
为什么要在脚本中添加
text/babel类型? -
这只是一个例子。在我的其他脚本中,我使用的是箭头函数,所以我需要使用 babel 将其从 ES6 转换为 ES5
-
但是当我删除它时,代码确实有效。
-
@Mohammad:OP 正在使用 Babel Standalone 来使用 Babel 的转译 in 浏览器。这就是你告诉 Babel Standalone 应该转换哪些脚本的方式。
标签: javascript babeljs addeventlistener domcontentloaded