gpt4 book ai didi

javascript - 具有多种功能的 jQuery 作用域

转载 作者:行者123 更新时间:2023-11-27 22:49:13 24 4
gpt4 key购买 nike

我有一个工具,允许用户创建仪表板并向其中添加小部件。每个小部件都是加载到页面中的自己的 JS 文件。

为了保持整体相同,我创建了一个名为 load 的函数,该函数在文档准备就绪时触发。

问题是,所包含的每个其他模块都有相同的称为 load 的函数,这会导致问题。

虽然我可以将函数名称更改为唯一的名称,但我想看看是否可以将它们全部保留在锁定到它们所在文件范围的位置?

/*
Module Details: Department Links - A collection of links specific to the users department or selected department
*/

$(function() {

// Define our moduleID
var moduleID = 1;

// Load our module
load(moduleID, '', false);

// Create a event for dropdown change
$('body').on('select2-selecting', '#Department_' + moduleID, function (e) {
// When the user picks a department, reload this module and fetch those department links.
load(moduleID, e.val, true);
});

});

/*
Load the module
@moduleID: required.
@departmentID: if not passed, the SP will use the viewers departmentID.
@reload: passed when changing the dropdown so we only render the new data and not the whole module
*/
function load(moduleID, departmentID, reload){

... Do other stuff here
}

我想我的问题是.. 在包含的各种 js 文件中包含多个名为 load 的函数,我如何触发特定于其自己文件的函数?

最佳答案

@binariedMe 是正确的。JavaScript 中没有像文件作用域这样的东西。如果您有任何在每个文件中都是单独的对象,您可以这样做,这样您就可以编写如下...

`Object.load = function (){
// do stuff
}`

并且您可以为正在加载的每个模块调用 object.load...!!

关于javascript - 具有多种功能的 jQuery 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38190057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com