Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用requireJS从另一个文件调用函数_Javascript_Jquery_Function_Events_Requirejs - Fatal编程技术网

Javascript 如何使用requireJS从另一个文件调用函数

Javascript 如何使用requireJS从另一个文件调用函数,javascript,jquery,function,events,requirejs,Javascript,Jquery,Function,Events,Requirejs,我有两个文件-main和events。我试图从一个文件调用某个函数到另一个文件 这就是它的样子: 事件 require(['app/main'], function(call) { // click event respond test document.body.addEventListener("click", function(e) { var target = e.target; if (target.hasClass === "call"

我有两个文件-main和events。我试图从一个文件调用某个函数到另一个文件

这就是它的样子:

事件

require(['app/main'], function(call) {
    // click event respond test
    document.body.addEventListener("click", function(e) {
        var target = e.target;
        if (target.hasClass === "call"){
            functionCall()();
        }
    });
});
main

define(["jquery"], function() {

    // Call
    var box = $('.box');
    return function functionCall(){
        box.addClass('visible');
    }
});
有什么问题,有人能帮忙吗?

main:

define(["jquery"], function($) {

    var main =  {
        functionCall: function(){
            $('.box').addClass('visible');
        }
    }

    return main;
});
活动:

require(['jquery','app/main'], function($, main) {

    $('body').on('click', function () {
        if($(this).hasClass('call')){
            main.functionCall();
        }
    });

});
主要内容:

活动:

require(['jquery','app/main'], function($, main) {

    $('body').on('click', function () {
        if($(this).hasClass('call')){
            main.functionCall();
        }
    });

});

一种方法是在需要调用函数的地方添加此代码:
require('pathToModuleOrModuleName')。函数youwanttocall()

但是,如果您在事件中定义了模块或需要模块(作为事件中的“main”),那么在需要调用函数的地方只需添加:

call.functionName();

一种方法是在需要调用函数的地方添加此代码:
require('pathToModuleOrModuleName')。函数youwanttocall()

但是,如果您在事件中定义了模块或需要模块(作为事件中的“main”),那么在需要调用函数的地方只需添加:

call.functionName();

除非我的眼睛欺骗了我,否则对您的代码所做的最简单的更改就是替换以下内容:

functionCall()();
为此:

call();

由于
main
模块返回的函数在
events
模块中作为
call
导入,因为在传递给
define
的回调中,您就是这样命名的,除非我的眼睛欺骗了我,否则对代码所做的最简单的更改就是替换以下内容:

functionCall()();
为此:

call();

由于
main
模块返回的函数在
events
模块中作为
call
导入,因为在传递给
define
的回调中,您就是这样命名的。首先,您的代码有一些基本问题

在下面的代码中

define(["jquery"], function() {
您在函数定义中引用查询的位置。 我认为应该首先将定义的jquery映射到函数声明中,如下所示

  define(["jquery"], function($) {
第二,调用函数之后()在做什么

if (target.hasClass === "call"){
   functionCall()();
}

从该调用中删除尾部()。它应该是functionCall()

首先,您的代码有一些基本问题

在下面的代码中

define(["jquery"], function() {
您在函数定义中引用查询的位置。 我认为应该首先将定义的jquery映射到函数声明中,如下所示

  define(["jquery"], function($) {
第二,调用函数之后()在做什么

if (target.hasClass === "call"){
   functionCall()();
}

从该调用中删除尾部()。它应该是functionCall()

我知道你试图在另一个文件中要求一个模块,但你调用它时究竟想实现什么?单击某个元素后从其他文件调用函数-simpleI知道你试图在另一个文件中要求一个模块,但调用它时究竟想实现什么?单击后从其他文件调用函数某些元素-simplei在我的主/config文件中映射了jquery,这就是写错误,我的函数定义正确…:)我在主/config文件中映射了jquery,这是一个写错误,我的函数定义正确…:)