Javascript一个函数名称在多个文件中

我需要的很简单,虽然我不知道是否可能..

我将所有事件处理程序附加到对象本身而不是$(document)

但是,我需要在.ready()方法上附加它们,以确保在附加处理程序之前创建对象。 由于要附加很多处理程序,为了保持代码清洁,我想创建一个名为attachHandlers()的函数,该函数将在document.ready()上调用。

但是..这个函数应该执行多个文件中的代码。

我的问题是..是否有一种方法可以多次声明同一个函数,然后只调用一次来执行它们?

但是..这个函数应该执行多个文件中的代码。

我的问题是..是否有一种方法可以多次声明同一个函数,然后只调用一次来执行它们?

如果正确解释问题,您想要从.ready()多个文件请求javascript 。 你可以创建一个包含要请求的文件url的数组,使用$.getScript()$.getScript()$.getScript()来调用文件中的javascript

jQuery.getScript( url [, success ] )返回: jqXHR
描述:使用GET HTTP请求从服务器加载JavaScript文件,然后执行它。

该脚本在全局上下文中执行,因此它可以引用其他变量并使用jQuery函数。 包含的脚本可能会对当前页面产生一些影响。

$(document).ready(function(){

  var files = ["1.js", "2.js", "3.js"]; $.when.apply($, $.map(files, function(file) { // request file return $.getScript(file) })) .then(function() { // complete // do stuff }, function err(jqxhr, textStatus, errorThrown) { // handle error }); }); 

创建一个具有此function的全局JS文件(以及您希望在所有页面上运行的未来function)。 在head元素中的每个文件的顶部调用此脚本。 在头脑中调用它应该做你需要的(至少这是我在我的项目中使用并为我工作)。

您可以将多个文件打包在模块中,并且每个文件都有一个方法attachHandlers吗? 然后尝试使用requirejs加载所有这些。 在document.ready中,从所有这些模块中调用attachHandlers方法? 它会更整洁