1

我试图调用在我的 /js/file.js 中声明的函数 - 从内联 js<script>标记'。

会发生什么:

  1. 从 /js/file.js 我调用triggeredByJsFile()在我的内联<script>标记中声明的函数'
  2. 然后从我的内联<script>标签'我最终对 /js/file.js 中的函数进行回调 -imagesLoaded()

每次我尝试回调 /js/file.js 函数时都会出现错误:“ReferenceError: imagesLoaded is not defined”

我的设置如下:

<html>
<head>
  <!-- JS file containing the function I want to call -->
  <script src="js/file.js"></script>
</head>

<body>

  <div id="content">....</div>


    <script>
function triggeredByJsFile() {
  //does a lot of stuff and
  initiateSomething();
}

function initiateSomething() {
//Reference back to the js file
      imagesLoaded();
}
    </script>
</body>
</html>

我的 /js/file.js

$(document).ready(function ()
{

triggeredByJsFile();

    function imagesLoaded() {
        alert("IMAGES LOADED");
    }

});

firebug 控制台向我显示的错误

ReferenceError: imagesLoaded is not defined
[Break On This Error]   

imagesLoaded();

认为只要在底部执行实际引用/函数调用之前加载我的 .js 文件,我就可以做到这一点?

4

1 回答 1

0

imagesLoaded是在您传递给的匿名函数的范围内定义的ready

它不是全局的,不能从其他脚本调用。

将其移出匿名函数以使其成为全局函数。

于 2013-05-19T14:13:49.670 回答