【问题标题】:How do you call a function from another javascript file with the type="module" [duplicate]如何使用 type="module" 从另一个 javascript 文件调用函数 [重复]
【发布时间】:2020-07-08 20:00:37
【问题描述】:

如何通过 onclick 或 普通 JavaScript 从模块 JavaScript 文件调用函数。

在下面的代码中,单击按钮会引发“exampleFunction is not defined”异常(使用最新的 FireFox 版本进行测试并希望与现代浏览器兼容)

exampleModule.js

export function exampleFunction(){
    alert('example Function');
}

examplePage.html

<html>
    <head>
        <script src="exampleModule.js" type="module"></script>
    </head>
    <body>
        <button onclick="exampleFunction();">button</button>
    </body>
</html>

【问题讨论】:

标签: javascript


【解决方案1】:

你可以在Module里面注册onclick Handler

var element = (get your element with any document.<> Method)
element.addEventListener("click" (e) =>{ /*Your Handler Function */})

【讨论】:

    【解决方案2】:

    尝试在全局上下文中使用这个函数,使用window

    exampleModule.js

    exampleFuction=function(){
        alert('example Function');
    }
    export exampleFunction // export as a module
    window.exampleFunction = exampleFunction; // export to the global context
    

    【讨论】:

    • 仅对于像 onclick 这样的填充全局变量 Space 并且所有模块都加载异步的东西,所以它可能发生,当用户尝试单击时没有定义“exampleFunction”,所以会有一个错误
    猜你喜欢
    • 2021-08-07
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多