将一个插件分配给 jQuery 原型属性。当一个人不使用 jQuery 的“新”时,这样做有什么意义?只有一个 jQuery 实例不是吗?那么插件不能直接分配给单例jQuery对象吗?
问问题
201 次
1 回答
3
插件方法必须自动添加到创建的每个新 jQuery 对象中。
jQuery.fn
与jQuery.prototype
将插件方法分配给将jQuery.fn
其添加到 jQuery 原型中相同,因此每当创建新的 jQuery 对象时,该方法将自动可用。从技术上讲,它是一个jQuery.fn.init
对象,但想法是一样的。
使用这样的字符串调用 jQuery:
$(".foo")
创建一个新的 jQuery.fn.init 对象,该对象从 jQuery.fn(定义插件方法的地方)获取其原型。
下面是相关的 jQuery 代码,它显示了一个正在创建的新对象:
// Define a local copy of jQuery
var jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
return new jQuery.fn.init( selector, context, rootjQuery );
},
// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;
于 2012-09-23T01:17:42.773 回答