jQuery回调出现问题

我尝试这样做。

MainController.js

mapController = $.fn.mapController();

getMapController = function() {
   return mapController;
};


mapController.js

(function ( $ ) {
    $.fn.mapController = function(options) {
        let mapController = {};
        let settings = $.extend({
            save: function(data) {}
        }, options);

        mapController.openModal = function () {
             //OPEN MODAL
        }

        return: mapController
    }
}(jQuery));


nextController.js

function setPlace() {
    getMapController({
      save: function(data) {
         console.log("TEST")
      }
    }).openMapModal();
}


所以...我尝试从mapController方法获取nextController中的getMapController而不是workink回调...

如何在nextController.js中获取回调?

最佳答案

您似乎通过命名与插件返回的对象名称相同的jQuery插件引入了一些困惑。两者都称为mapController。这本身不是问题,但是在setPlace中您可以调用mapController,就像它是jQuery插件一样(传递选项),但实际上它是它返回的对象(请参见MainController.js),不是功能。

因此,我认为您将需要更改MainController代码,并使全局mapController变量等于jQuery插件:

mapController = $.fn.mapController;
              //               ^^^^^ remove parentheses.


如前所述,请确保消除MapController中return语句中的语法错误;它后面不应该有一个冒号。

关于javascript - jQuery这样返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53252085/

10-09 02:31