实际上我试图获得模块模式的概念。这里我有简单的代码,我曾经在页面上直接输入。在我尝试将实际代码与HTML文件分开并在主HTML文件中只保留一行代码之前,这很好:
<body>
<script type='text/javascript' src='module.js'>
// module.JS file was here ....
document.body.addEventListener('keypress',function(e){module.show(e.keyCode)});
</script>
</body>
var module = (function() {
return {
show:function(keyCode){
document.body.innerHTML+=(String.fromCharCode(keyCode));
}
};
})();
答案 0 :(得分:3)
您需要有两个<script>
元素。
使用一个&#34;导入&#34;您希望直接嵌入页面的脚本的外部模块和另一个模块:
<script type='text/javascript' src='module.js'></script>
<script type='text/javascript'>
document.body.addEventListener('keypress',function(e){module.show(e.keyCode)});
</script>
有关详细信息,请查看this MDN documentation page。以下是关于src
属性(强调添加)的摘录:
此属性指定外部脚本的URI;这可以用作直接在文档中嵌入脚本的替代方法。 指定了
src
属性的脚本元素不应在其代码中嵌入脚本。
答案 1 :(得分:1)
引用外部JavaScript源的脚本块应该是独立的,并且其中的任何脚本都不会被执行。因此,您需要两个单独的脚本块,一个用于外部JavaScript文件,另一个用于脚本。
<script src='module.js'></script>
<script>
document.body.addEventListener('keypress',function(e){module.show(e.keyCode)});
</script>