Javascript jQuery返回如下
我对jQuery回调有问题 我试着这样做 MainController.jsJavascript jQuery返回如下,javascript,jquery,callback,Javascript,Jquery,Callback,我对jQuery回调有问题 我试着这样做 MainController.js mapController = $.fn.mapController(); getMapController = function() { return mapController; }; (function ( $ ) { $.fn.mapController = function(options) { let mapController = {}; let sett
mapController = $.fn.mapController();
getMapController = function() {
return mapController;
};
(function ( $ ) {
$.fn.mapController = function(options) {
let mapController = {};
let settings = $.extend({
save: function(data) {}
}, options);
mapController.openModal = function () {
//OPEN MODAL
}
return: mapController
}
}(jQuery));
function setPlace() {
getMapController({
save: function(data) {
console.log("TEST")
}
}).openMapModal();
}
mapController.js
mapController = $.fn.mapController();
getMapController = function() {
return mapController;
};
(function ( $ ) {
$.fn.mapController = function(options) {
let mapController = {};
let settings = $.extend({
save: function(data) {}
}, options);
mapController.openModal = function () {
//OPEN MODAL
}
return: mapController
}
}(jQuery));
function setPlace() {
getMapController({
save: function(data) {
console.log("TEST")
}
}).openMapModal();
}
nextController.js
mapController = $.fn.mapController();
getMapController = function() {
return mapController;
};
(function ( $ ) {
$.fn.mapController = function(options) {
let mapController = {};
let settings = $.extend({
save: function(data) {}
}, options);
mapController.openModal = function () {
//OPEN MODAL
}
return: mapController
}
}(jQuery));
function setPlace() {
getMapController({
save: function(data) {
console.log("TEST")
}
}).openMapModal();
}
所以。。。我尝试从getMapController方法获取nextController中的mapController,但没有工作链接回调
如何在nextController.js中获取回调?getMapController返回一个函数,您必须使用以下方法调用它:
此外,您还有一个错误:在这一行:
return: mapController
应该是:
return mapController
通过使用与插件返回的对象相同的名称命名jQuery插件,似乎引入了一些混淆。两者都称为映射控制器。这本身不是问题,但在setPlace中调用mapController就好像它是传递选项的jQuery插件一样,但实际上它是它返回的对象,请参见MainController.js,它不是一个函数 因此,我认为您需要更改MainController代码,并使全局mapController变量等于jQuery插件:
mapController = $.fn.mapController;
// ^^^^^ remove parentheses.
如前所述,确保删除MapController中return语句中的语法错误;它后面不应该有冒号。但是$.fn.plugin中的这个不是$。它是$selectorAh返回的jQuery对象,是的,但是显然,OP没有像那样使用它。