如何从另一个JS文件中调用jQuery函数

How To Call jQuery Function From Another JS File

本文关键字:调用 jQuery 函数 文件 JS 另一个      更新时间:2023-09-26

我有以下main.js

$(document).ready(function() {
  $.getScript('another.js', function() {
    another();
  });
});

…及以下another.js

$(function another() {
  $('section#my-section').after('<a href="#">my link</a>');
});

目录结构如下:

+ my.html
+ js
  +--- main.js
  +--- another.js

another()永远不会被调用。为什么?谁能给我指个正确的方向?

谢谢!

使用函数表达式定义了another,并将其传递给$()

你需要把它设为全局

既然你是调用它之后,你包括它,你大概不需要把它传递给$(),所以只是摆脱包装它,它将是一个函数声明(和一个全局)。

有几点需要考虑:

首先,你不能在main.js中调用another(),因为它被包装在$()中,并且在全局作用域中不可用。所以你需要删除another();

那么你在another.js中的代码就会变成

function another() {
  $('section#my-section').after('<a href="#">my link</a>');
}

然后,如果你在本地使用chrome浏览器进行测试,它可能无法工作。

因为 chrome 不支持本地ajax调用,它会给XMLHttpRequest cannot load

无论如何,在firefox和其他浏览器将工作良好。

你只需要在jquery之后加载main.js

我已经用firefox在我的本地测试了你的代码,它工作得很好。