我无法从jQuery对象本身调用jQuery插件。因此,我不想致电$(selector).myPlugin()
而是致电$.myPlugin
。由于某种原因,它告诉我该函数是未定义的。
这是我的代码:
(function ($) {
var _current = null;
var methods = {
init: function (options) {
_current = $('.rfgQuestionsWrapper').filter(function () {
return $(this).css('display') != 'none';
}).first();
console.log(_current);
$('.gaugeTitle').click(function (e) {
var rfgCode = $(this).parent().find('.gaugeWrapper').attr('id');
console.log(rfgCode);
showByCode(rfgCode);
return false;
});
},
showByCode: function (rfgCode) {
var target = $.utilities.filterById('.rfgQuestionsWrapper', rfgCode);
console.log(target);
_current.hide();
target.show();
}
};
$.fn.navigationManager = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.tooltip');
}
};
})(jQuery);
我一定是做错了,因为这是我第一次以这种方式调用插件......有什么建议吗?
答案 0 :(得分:1)
看看这个问题:in jQuery what is the difference between $.myFunction and $.fn.myFunction?
基本上代替$.fn.navigationManager = function(){}
你写$.navigationManager = function(){}
。