[英]jquery fn.extend() returning values and call values in object
我需要一些幫助來理解某些東西,這對於認真的jquery和javascript程序員來說可能很容易。
可以說我有這樣的代碼:
jQuery.fn.extend({
myNameSpace: {
myPlugIn: function (o) {
var o = { variable : o.variable || false };
var myfunction = function(v) {
o.variable = v;
};
return {
myfunction : myfunction
};
}
});
現在,我可以通過以下方式進行調用:
x = new $.myNameSpace.myPlugIn({variable : 99}) ;
然后像這樣將我的函數稱為myfunction
x.myfunction(20);
我明白了,現在的問題是:如何在插件中獲取變量的值。
我嘗試過alert(xo[variable]);
等等,但是我無法理解-這一定很容易...
我嘗試實現的是一個值,如果插件中的某些內容已完成或已計算,則可以調用該值。
您無法在當前代碼中獲取變量,除非將其更改為:
var myfunction = function(v) {
o.variable = v;
return v; //or o.variable
};
//...
x.myfunction(20) //20;
添加
似乎您正在嘗試制作jQuery插件。 要創建插件,請不要使用$.extend
。 $.extend
僅用於預設默認設置。 [1]通常,這是您設置插件的方式 :
(function($) {
var methods = {
getVar: function(){
return $.extend({
data: data,
}, methods);
},
setVar: function(d){
data = d;
return methods;
}
},
data = {};
$.fn.myPlugin = function(options) {
//do stuff
data = $.extend( data , options );
return methods;
};
})(jQuery);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.