It sounds like you want a way to create namespaces for plugins. There isn't an "official" way, but I wrote a small function to create namespaces that was discussed on a previous thread: http://www.nabble.com/Re%3A-passing-this-p13540912s27240.html
Also, it looks like your functions jQuery.Photo.create are actually meant to be plugins (i.e. they refer to 'this' as a jQuery object) so they should not be part of the jQuery object itself. Just do jQuery.fn.extend ({ photocreate: function(settings){ .... }, photocrop: function(...){ .... } }); Or, if using my namespace plugin, $.namespace ('photo', { create: function(settings){ .... }, crop: function(...){ .... } }); Danny On Dec 11, 6:43 pm, Smaon <[EMAIL PROTECTED]> wrote: > Hi everybody, > > ok, I'm in a big trouble right now. Let me try to explain my > problem :) > > I'm trying to create a simple photo editing system. I need to define a > DIV as the canvas, then to have many methods applicables to this > object. > > My first reflex was to create a jQuery extension, something like this > (just to give the idea): > > jQuery.Photo = { > create: function(settings){ > .... > }), > crop: function(...){ > .... > } > > }; > > jQuery.fn.extend( > { > Photo: jQuery.Photo.create, > crop: jQuery.Photo.crop > > }); > > Very well, now I was able to create my editable photo by using $ > ("#photo").Photo() and to crop by using $("#photo").crop() > > BUT, the problem is that I need to extend jQuery with every method I > want to use on my photos. For example crop() is now in the global > scope, and this is very ugly. To do well I should name it PhotoCrop, > but this I don't find it's a good solution. What I would like is to > have methods only usable on instances of the Photo object, in its > local scope. For ex, in core javascript it would be like that: > > function Photo(){ > ... > > } > > Photo.prototype.crop = function(){ > ... > > } > > The problem is that I don't find any way to do this properly with > jQuery. Maybe somebody here could help me? > > Many thanks in advance! > > Smaon