doc.silverstripe.org/sapphire/thirdparty/jquery-effen/jquery.fn.js

31 lines
798 B
JavaScript
Raw Normal View History

(function($) {
$.fn.fn = function() {
var self = this;
var extension = arguments[0], name = arguments[0];
if (typeof name == "string") {
return apply(self, name, $.makeArray(arguments).slice(1, arguments.length));
} else {
$.each(extension, function(key, value) {
define(self, key, value);
});
return self;
}
}
function define(self, name, fn) {
self.data(namespacedName(name), fn);
};
function apply(self, name, args) {
var result;
self.each(function(i, item) {
var fn = $(item).data(namespacedName(name));
if (fn)
result = fn.apply(item, args);
else
throw(name + " is not defined");
});
return result;
};
function namespacedName(name) {
return 'fn.' + name;
}
})(jQuery);