内的 javascript 函数?-6ren"> 内的 javascript 函数?-我有一个简单的 HTML 页面,它正在导入一个 JS 模块,如下所示: .. snip Go! import { func1 } from './utils.js' function btnClic-6ren">
gpt4 book ai didi

javascript - 如何从 HTML 元素事件调用 <script type ="module"> 内的 javascript 函数?

转载 作者:行者123 更新时间:2023-12-03 19:19:06 27 4
gpt4 key购买 nike

我有一个简单的 HTML 页面,它正在导入一个 JS 模块,如下所示:

.. snip
<button onclick="btnClick()">Go!</button>

<script type="module">
import { func1 } from './utils.js'

function btnClick() {
func1()
}
</script>

单击该按钮会产生错误:未定义 btnClick()。

为什么会这样?如何将这些功能带回正确的范围?

最佳答案

javascript 执行堆栈有自己的范围,因此,简单易用的解决方案是,您可以将您可访问的功能分配给窗口范围,如下所示;

<button onclick="btnClick()">Go!</button>

<script type="module">
import { func1 } from './utils.js'

function btnClick() {
func1()
}

// variable function
window.btnClick = btnClick;

// or anonymous function
window.btnClick = function(youCanSetParams){
func1()
}
</script>

关于javascript - 如何从 HTML 元素事件调用 &lt;script type ="module"> 内的 javascript 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59692171/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com