我越来越了解jQuery了。我最近创建了一个插件(工作正常)。但是,这里有一些我很好奇的东西。假设我有以下插件......
(function($){
$.fn.plugin = function(){
//code here
};
}(jQuery));
然后如果我使用它$('#selector').plugin()
然后再次使用它$('#selector').plugin().method1()
它似乎创建了两个不同的实例。
我如何修改我的代码,以便它仍然引用相同的实例,因为选择器是相同的,类似于以下行为?
var pg = $('#selector').plugin();
pg.method1();
谢谢!
答案 0 :(得分:2)
(function($){
$.fn.plugin = function(){
return {
method1 : function(text){
console.log(text);
}
}
};
}(jQuery));
var smth = $(document).plugin();
smth.method1('text this');
这是一个工作小提琴:http://jsfiddle.net/sazv3dge/
答案 1 :(得分:0)
如果不创建实例对象,则无法实现。您需要创建实例对象。 但是有一种方法可以直接调用函数而无需创建实例。 将您的插件创建为包含函数的javascript对象。然后你可以在你的插件中调用你的方法。
这是一个例子
$.fn.plugin = {
con:function(val){
console.log(val)
}
}
$("body").plugin.con("ok");