如果在Html中以script type="module"的方式嵌入JavaScript,在script外部,比如div的onclick事件中,是不能访问script中的变量或函数的,因它module类型指定了JavaScript代码是模块,外部无法访问模块中的内容。
如果需要访问,可以通过以下几种办法:
方法1:使用全局变量
可以将模块中的函数赋值给一个全局变量,然后在onclick中调用这个全局变量。
// 在模块中
window.myGlobalFunction = function() {
// 你的函数实现
};
// 在HTML中
<div onclick="myGlobalFunction()">点击我</div>
方法2:使用事件监听器
在JavaScript模块中通过addEventListener为<div>元素添加事件监听器。这样,你可以完全在模块化的环境中工作,而不必依赖全局变量。
<div id="myDiv">点击我</div>
<script type="module">
import { myFunction } from './myModule.js'; // 假设myFunction是你想调用的函数
document.getElementById('myDiv').addEventListener('click', function() {
myFunction();
});
</script&