我想创建一个inject()
可以在任何 jQuery DOM 对象上调用的函数。
例如, $('div').inject()
, $('#abc').inject()
, 甚至$('nonStandardElement').inject()
;
我需要对其进行原型设计,因为它应该适用于尚未创建的元素。
我可以原型什么类(或类集)来完成这个?
我想创建一个inject()
可以在任何 jQuery DOM 对象上调用的函数。
例如, $('div').inject()
, $('#abc').inject()
, 甚至$('nonStandardElement').inject()
;
我需要对其进行原型设计,因为它应该适用于尚未创建的元素。
我可以原型什么类(或类集)来完成这个?
这称为jQuery 插件。您向 jQuery 的原型对象添加方法,该对象公开为jQuery.fn
:
jQuery.fn.inject = function inject() {
/* do what you want */
return this; // for chainability
};
没关系,想通了!
原来我可以将它直接添加到“jQuery”对象上,如
jQuery.prototype.inject = function(x){alert('x')}
你可以像这样编写自己的 jquery 插件,
(function($){
$.fn.inject= function() {
//code...
};
})(jQuery);
//Sample call
$(selector).inject();