在尝试了解如何制作jQueryUI时,我在代码中看到他们使用了extend
实用程序。但是,它用于扩展匿名对象。
有人可以解释一下吗?
$.fn.extend({
scrollParent: function( includeHidden ) {
var position = this.css( "position" ),
excludeStaticParent = position === "absolute",
/// and the code goes on
答案 0 :(得分:1)
代码正在扩展$
(与jQuery
对象相同),因此$.scrollParent
现在是一个函数。请参阅here。
这也是一个例子,从那个页面开始。
<script>
jQuery.fn.extend({
check: function() {
return this.each(function() {
this.checked = true;
});
},
uncheck: function() {
return this.each(function() {
this.checked = false;
});
}
});
// Use the newly created .check() method
$( "input[type='checkbox']" ).check();
</script>
答案 1 :(得分:1)
<强> 1.3中()强>
正如documentation所述,jQuery.fn.extend()
方法
将对象的内容合并到jQuery原型上,以提供新的jQuery实例方法。
因此,您的代码通过添加方法scrollParent
您可以将此新方法调用到任何jQuery对象,如下所示:
$('#myElement').scrollParent(includeHidden);
<强> jQuery.extend()强>
jQuery.extend( object1, object2 )
只是将object2合并到object1
查看$.extend()文档以获取更多详细信息