如何从另一个js文件调用js文件中的函数

时间:2014-12-26 06:35:13

标签: javascript external

我知道这个问题已被多次回答,但这些问题的解决方案对我不起作用。我假设有一个函数,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 。请帮帮我。感谢。

3 个答案:

答案 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>