幾乎所有的在我讀過了jQuery教程中的示例,通常使用一個主要的公共職能爲自己選擇的插件。當我說'選擇'插件時,我的意思是不僅僅是一個擴展到jQuery上的靜態函數。是否有可能寫第二非靜態,選擇,priviledged功能的jQuery插件?
例如:
(function($) {
jQuery.fn.actionList = function(options) {
var opts = $.extend({}, $.fn.actionList.defaults, options);
return this.each(function(){
alert(this);
});
};
$.fn.actionList.defaults = {
listHtml: '<div>Set the list html</div>'
};
})(jQuery);
但不是:
jQuery.log = function(message) {
if(window.console) {
console.debug(message);
} else {
alert(message);
}
};
這對大多數事情能正常工作,但我希望做的是能夠調用返回的對象上的第二功能從第一次來電。
var actionBox = $('actionBox').actionList(options);
//Many light-cycles later
actionBox.refreshData(data);
或甚至:
$('actionBox').actionList(options);
// laaateerr
$('actionBox').actionList.refreshData(data);
我猜一個或兩個的這些是不可能的,或者至少不可取的,但只有現在我進入jQuery的最深的方面和JavaScript。
有人能解釋如何做到這一點,或者如果它是不可能或不可取,爲什麼呢?他們會做什麼呢?
感謝您的閱讀!
嘿謝謝你的回覆,如果你能向我展示一個例子,有可能嗎? – 2009-07-01 22:55:24