У меня есть плагин JQuery 1.4.2, который использует набор опций. Это псевдокод такой:
(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"
});
});
Что я делаю не так? Я ожидал, что каждый раз, когда плагин будет найден, он будет использовать параметры, переданные ему. Вместо этого он сохраняет все параметры из первого экземпляра и перезаписывает все повторно инициализированные свойства из второго экземпляра.
Любые ответы приветствуются. Заранее спасибо за чтение моего поста.