Hi,
I'd like to suggest an enhancement to $.extend, to allow extending
an object from multiple objects.
This will allow a simple way for plugins to have a global set of
default options:
$.fn.plugin(options) {
var options = $.extend({}, arguments.callee.defaults, options || {});
...
}
$.fn.plugin.defaults = { ... }
This extends an empty object with the global defaults and then
again with the local options. With the existing implementing this would
have to be done as such:
$.extend($.extend({}, arguments.callee.defaults), options || {});
Heres the new $.extend function:
jQuery.extend = jQuery.fn.extend = function(obj) {
// If no property objects were provided, then we're extending jQuery
if ( arguments.length == 1 ) {
var obj = this;
var a = 0;
} else {
var a = 1;
}
while (a < arguments.length) {
var prop = arguments[a];
if (prop !== null && prop != undefined) {
// Extend the base object
for ( var i in prop ) obj[i] = prop[i];
}
a++;
}
// Return the modified object
return obj;
};
- Mark Gibson
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/