我知道这个问题已被多次回答,但这些问题的解决方案对我不起作用。我假设有一个函数,a.js.这个函数在document.ready函数之外,这是它的格式:
function thisIsFromAnotherFile(){
alert("This alert is from another js file");
}
我从另一个文件调用此函数,b.js这样:
var openFile = function(context){
thisIsFromAnotherFile();
}
openFile是一个onclick函数。
onclick = "openFile(this)"
当我运行此代码时,我得到了一个 未捕获的ReferenceError:未定义thisIsFromAnotherFile 。请帮帮我。感谢。
答案 0 :(得分:-1)
除非在尝试调用它之前在同一文件中定义或加载了一个函数,否则无法调用该函数。 你在File1.js中声明函数fn1,然后在File2中你可以只有fn1();
File1.js
function thisIsFromAnotherFile() {
alert("working");
}
File2.js
function openFile() {
thisIsFromAnotherFile();
}
**HTML**
<html>
<head>
<script src="File1.js" type="text/javascript"></script>
<script src="File2.js" type="text/javascript"></script>
</head>
<body>
<button onclick="openFile()">Click me</button>
</body>
</html>
答案 1 :(得分:-1)
似乎有一些你不会告诉我们的事情。 以下代码提供了一个最小的功能示例。
<强>的file1.html 强>
<!DOCTYPE html>
<html>
<head>
<script>
"use strict";
window.addEventListener('load', onDocLoaded, false);
function onDocLoaded()
{
}
</script>
<script src="filea.js"></script>
<script src="fileb.js"></script>
<style>
</style>
</head>
<body>
<button onclick='fromFileA();'>Fire func in filea.js</button>
</body>
</html>
<强> filea.js 强>
function fromFileA()
{
fromFileB();
}
<强> fileb.js 强>
function fromFileB()
{
alert("now in fileb.js");
}
答案 2 :(得分:-1)
在调用函数
之前需要加载a.js.<head>
<script type="text/javascript" src="path/to/a.js"></script>
</head>