Glad to hear. The code above can be copied and pasted, given that you
have the script tags pointing to the correct scripts. The new version
is 1.3+ only.

--
Trey



On May 11, 6:23 pm, Lee Henson <[email protected]> wrote:
> Hi Trey,
>
> In the end I reverted to an earlier version of your code which seems
> to be working ok for now. Next time I get the chance I will look into
> updating to this version.
>
> Cheers
> L
>
> On May 10, 1:00 am, tres <[email protected]> wrote:
>
> > Lee,
>
> > I've sent you an email, but here it is for everyone else:
>
> > --
>
> > Sorry, I didn't see your post. Google groups can be difficult
> > sometimes.
>
> > Anyways, sorry about that. Since there is no official release yet and
> > I have yet to document it fully, the code has changed slightly. I've
> > changed it so that it follows JavaScript's paradigm more closely.
>
> > There are 3 ways to attach plugins to $ or $.fn. The following pass in
> > Firefox, IE7, Chrome and Safari. IE6, IE8 and Opera haven't been
> > tested yet.
>
> > I hope this helps. You can also grab the plugin off Google Code 
> > at:http://code.google.com/p/jquery-plugin-dev/source/browse/trunk/jquery....
>
> > CODE:
>
> > --------------------------------------------------------------------------- 
> > -------------
>
> > <script type="text/javascript" src="jquery-1.3.2.js"></script>
> > <script type="text/javascript" src="jquery.plugin.js"></script>
> > <script type="text/javascript">
>
> > ;(function($) {
>
> >         /*
> >          * 1st method
> >          *
> >          * Static : No constructor
> >          */
>
> >         // static plugin
> >         $.plugin.add('test1');
>
> >         // then use .fn or .prototype on that plugin to add methods
> >         $.test1.staticMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         // then use .fn or .prototype on that plugin to add methods
> >         $.test1.fn.instanceMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         /*
> >          * 2nd method
> >          *
> >          * Static : Passing an anonymous constructor
> >          */
>
> >         // static plugin
> >         $.plugin.add('test2', function() {
> >                 alert('initializing test2...');
>
> >                 return this;
> >         });
>
> >         $.test2.staticMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         $.test2.fn.instanceMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         /*
> >          * 3rd method
> >          *
> >          * Static : Passing an already defined constructor
> >          */
>
> >         // create your plugin
> >         var test3 = function() {
> >                 alert('initializing test3...');
>
> >                 return this;
> >         }
>
> >         // a static method
> >         test3.staticMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         // an instance method
> >         // adding via .fn is only available after adding the plugin
> >         test3.prototype.instanceMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         // now add it
> >         $.plugin.add('test3', test3);
>
> >         /*
> >          * 4th method
> >          *
> >          * Instance : No constructor
> >          */
>
> >         // static plugin
> >         $.fn.plugin.add('test4');
>
> >         // then use .fn or .prototype on that plugin to add methods
> >         $.fn.test4.staticMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         // then use .fn or .prototype on that plugin to add methods
> >         $.fn.test4.fn.instanceMethod = function() {
> >                 alert('test4 instanceMethod\nlength : ' + this.length +
> > '\nselector : ' + this.selector + '\ncontext : ' + this.context);
>
> >                 return this;
> >         };
>
> >         /*
> >          * 5th method
> >          *
> >          * Instance : Passing an anonymous constructor
> >          */
>
> >         // static plugin
> >         $.fn.plugin.add('test5', function() {
> >                 alert('initializing test5...\nlength : ' + this.length +
> > '\nselector : ' + this.selector + '\ncontext : ' + this.context);
>
> >                 return this;
> >         });
>
> >         $.fn.test5.staticMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         $.fn.test5.fn.instanceMethod = function() {
> >                 alert('test5 instanceMethod\nlength : ' + this.length +
> > '\nselector : ' + this.selector + '\ncontext : ' + this.context);
>
> >                 return this;
> >         };
>
> >         /*
> >          * 6th method
> >          *
> >          * Instance : Passing an already defined constructor
> >          */
>
> >         // create your plugin
> >         function test6() {
> >                 alert('initializing test6...\nlength : ' + this.length +
> > '\nselector : ' + this.selector + '\ncontext : ' + this.context);
>
> >                 return this;
> >         }
>
> >         // a static method
> >         test6.staticMethod = function(arg) {
> >                 alert(arg);
>
> >                 return this;
> >         };
>
> >         // an instance method
> >         // adding via .fn is only available after adding the plugin
> >         test6.prototype.instanceMethod = function(arg) {
> >                 alert('test6 instanceMethod\nlength : ' + this.length +
> > '\nselector : ' + this.selector + '\ncontext : ' + this.context);
>
> >                 return this;
> >         };
>
> >         // now add it
> >         $.fn.plugin.add('test6', test6);
>
> > })(jQuery);
>
> > jQuery(function($) {
>
> >         // construct objects
> >         var
> >                 test1 = $.test1('initializing test1...'), // nothing should 
> > happen
> >                 test2 = $.test2('initializing test2...'),
> >                 test3 = $.test3('initializing test3...'),
> >                 test4 = $('div').test4(), // nothing should happen
> >                 test5 = $('div').test5(),
> >                 test6 = $('div').test6();
>
> >         // test static methods
> >         $.test1.staticMethod('test1 : staticMethod');
> >         $.test2.staticMethod('test2 : staticMethod');
> >         $.test3.staticMethod('test3 : staticMethod');
> >         $.fn.test4.staticMethod('test4 : staticMethod');
> >         $.fn.test5.staticMethod('test5 : staticMethod');
> >         $.fn.test6.staticMethod('test6 : staticMethod');
>
> >         // test instance methods, can also be directly called
> >         // i.e. $.test6().instanceMethod(), but saving will allow
> >         // instance reuse
> >         test1.instanceMethod('test1 : instanceMethod');
> >         test2.instanceMethod('test2 : instanceMethod');
> >         test3.instanceMethod('test3 : instanceMethod');
> >         test4.instanceMethod();
> >         test5.instanceMethod();
> >         test6.instanceMethod();
>
> > });
>
> > </script>
>
> > <div>
> >         <p>Testing html...</p>
> > </div>
>
> > --------------------------------------------------------------------------- 
> > -------------
>
> > On Apr 10, 3:25 am, Lee Henson <[email protected]> wrote:
>
> > > Hi Trey
>
> > > I'm trying to use your jquery.plugin.js as a basis for creating aplugin. 
> > > I've got to :
>
> > > $.plugin.add('plugin_name', {
> > >     init: function(options) {
> > >         return this;
> > >     },
>
> > >     another_method: function() {
> > >     }
>
> > > });
>
> > > But when I load the page I get a failure inside jquery.plugin.js
> > > because of this line inside _add(fn, name, func):
>
> > > applyTo[name].fn = applyTo[name].prototype = _constructor.prototype =
> > > func.fn = func.prototype;
>
> > > func is my object hash of functions, so it does not have a
> > > func.prototype. This obviously causes all the assignments on that line
> > > to be undefined, which causes errors when they are referenced.
>
> > > Am I missing something in my code?
>
> > > Cheers
> > > Lee
>
> > > On Mar 30, 11:50 pm, tres <[email protected]> wrote:
>
> > > > Btw, Daniel, I have changed the API to accomodate this.
>
> > > > jQuery.plugin.add('name', func || objectOfFuncs), will now add a
> > > > staticpluginand can be called like jQuery.name() or
> > > > jQuery.name().method1();
>
> > > > Static methods can be applied also by giving a static keyword with the
> > > > function name:
>
> > > > jQuery.plugin.add('name', {
> > > >     someInstanceMethod : fucntion() {},
> > > >     'static:myStaticMethod' : function() {}
>
> > > > });
>
> > > > then can be called: jQuery.name().someInstanceMethod() or
> > > > jQuery.name.myStaticMethod();
>
> > > > and
>
> > > > jQuery.fn.plugin.add('name', func || objectOfFuncs), will add it to
> > > > jQuery's prototype and can be called jQuery('selector').name().
>
> > > > jQuery.plugin.remove('name') and jQuery.fn.plugin.remove('name') work
> > > > in a similar way.
>
> > > > I'm putting together a full documentation and examples soon.
>
> > > > -Trey
>
> > > > On Mar 5, 1:34 pm, Daniel Friesen <[email protected]> wrote:
>
> > > > > I think it could do with the ability to handle methods on jQuery 
> > > > > itself
> > > > > instead of being limited to just jQuery.fn,
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to