我有一個JQuery 1.4.2插件,它使用一組選項。這是僞代碼是這樣的:爲什麼我的JQuery插件沒有得到它自己的實例?
(function($) {
// Shell for the plugin code
$.fn.myPlugIn = function(options) {
// Plugin code
return this.each(function() {
// for each item in selector
options = $.extend($.fn.myPlugIn.defaults, options);
...do stuff
});
$.fn.myPlugIn.defaults = {
header : null,
position : 'absolute',
top : null,
left : null,
forinput : null,
forAnchor : null,
sAjaxSource : null,
onClick : null
};
})(jQuery);
當尋求在單頁上的幾個要素的插件,該選項是不是唯一的 - 由先前的元素選項仍然在選項。
$(document).ready(function() {
$("#div1").myPlugIn(
{forinput: "input1",
onClick: function(data){
... do stuff
},
});
$("#div2").myPlugIn({
forAnchor: "link1",
onClick: function(data){
... do stuff
},
header: "Parts"
});
});
我在做什麼錯?我預計每次找到插件時,都會使用傳遞給它的選項。相反,它使用第一個實例中的所有選項,並覆蓋第二個實例中的任何重新初始化的屬性。
任何答覆的讚賞。提前感謝閱讀我的文章。
這裏不會是全局變量,因爲它是函數的一個參數。 – 2010-11-05 23:06:56
感謝您的回覆! – Griff 2010-11-08 19:02:51