Javascript 从没有全局作用域的元素事件中调用函数

标签 javascript jquery

在外部加载的 javascript 文件中(使用 jQuery) 我有:

$(function() {
    function foo() {
        console.log("bar");
    }
}

但是在 HTML 中,当我尝试调用时:

<a onclick="foo()">Call foo</a>

这会破坏Uncaught ReferenceError: foo is not Defined

是否可以将实际的函数调用保留在 HTML 中(在 a 标记上)并使其正常工作?

最佳答案

您可以将其附加到全局窗口对象:

$(function() {
    window.foo = function() {
        console.log("bar");
    }
}

关于Javascript 从没有全局作用域的元素事件中调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687794/

相关文章:

javascript - three.js 透明背景

javascript - 为 android 构建统一代码时出现问题

javascript - JavaScript 中自定义事件处理的不同方式有什么区别?

jquery - .prop() 返回对象而不是值

javascript - 尝试对 onSubmit 中的参数使用序列化时失败 ='return function(this)'

javascript - 使用具有两个输入的箭头函数调用 Array.prototype.map() 的目的是什么?

Javascript:使用键盘浏览 DIV 列表

jquery - 在不移动其他元素的情况下调整图标大小

javascript - FormData 不包含按钮的值

javascript - 如何根据用户滚动的方式使 div 固定在顶部或底部?