我想創建一個函數inject()
,我可以調用任何jQuery的DOM對象。我怎樣才能原型的jQuery「DOM」類
例如,$('div').inject()
,$('#abc').inject()
或甚至$('nonStandardElement').inject()
;
我需要原型,因爲它應該適用於尚未創建的元素。
我可以通過什麼樣的類(或一組類)來完成這個任務?
我想創建一個函數inject()
,我可以調用任何jQuery的DOM對象。我怎樣才能原型的jQuery「DOM」類
例如,$('div').inject()
,$('#abc').inject()
或甚至$('nonStandardElement').inject()
;
我需要原型,因爲它應該適用於尚未創建的元素。
我可以通過什麼樣的類(或一組類)來完成這個任務?
這就是所謂的jQuery plugin。您將方法添加到jQuery的原型對象,該對象以jQuery.fn
的形式公開:
jQuery.fn.inject = function inject() {
/* do what you want */
return this; // for chainability
};
fn優於原型的優勢是什麼? –
這是官方的:-)從源頭上:'jQuery.fn = jQuery.prototype = {...}' – Bergi
沒關係,想通了!
原來我可以添加它的權利到 'jQuery的' 對象,如
jQuery.prototype.inject = function(x){alert('x')}
您可以編寫自己的jQuery插件這樣,
(function($){
$.fn.inject= function() {
//code...
};
})(jQuery);
//Sample call
$(selector).inject();
您可以使用jQuery定義插件。檢查出http://docs.jquery.com/Plugins/Authoring#Getting_Started,除非你堅持原型功能 – frictionlesspulley