[jQuery] Plugin Authoring Help pt 2

[jQuery] Plugin Authoring Help pt 2


Ok, I'm really trying to wrap my head around this, and it's irritating
me. I've checked out the following pages:
http://docs.jquery.com/Plugins/Authoring
http://www.learningjquery.com/2007/10/a-plugin-development-pattern
And they help some but there's one problem I'm running into.
I have:
$.fn.myPlugin = function(options) {
$.myPlugin.defaults = $.extend($.myPlugin.defaults, options);
return(this);
};
$.myPlugin = {
defaults: {
def1: 'default1',
def2: 'default2',
...
defx: 'defaultx'
},
myFunc: function() {
var options = $.myPlugin.defaults;
//do something here, anything really
},
myFunc2: function() {
var options = $.myPlugin.defaults;
//do something here, again, anything
}
};
Now, I want to do something like this:
jQuery().myPlugin({def1: 'other_def1', def2: 'other_def2'}).myFunc();
Can I?
Because it's not working. It tells me that jQuery().myPlugin({def1:
'other_def1', def2: 'other_def2'}) is not a function.
However, if I change it so that myFunc is $.fn.myFunc = function()
{ }, then I can, but I have to do it as:
jQuery().myPlugin({def1: 'other_def1', def2:
'other_def2'}).myPlugin.myFunc();
Which I don't like.
None of the tutorials or documentation I can find is clear on this
point, though they do refer to the functions in $.myPlugin as being
user-accessable... and they are, but only if I do $.myPlugin.myFunc.
I can't chain. And I want to be able to do that.