@Brian

You might have solve the problem but I don't think polluting the
jQuery namespace is a good thing.

This will work too.

$(function(){
    myNamespace = {};
    myNamespace.displayMessage = function(){ alert('testing') }; //
works fine

});

$(function(){
    myNamespace.displayMessage();

});


On May 29, 1:39 pm, Brian FitzGerald <fitzgeraldme...@gmail.com>
wrote:
> Hey, thanks a lot for the replies guys.
>
> Eric, I tried what you suggested, but I was getting javascript syntax
> errors reported.
>
> So, rather than:
>
> $(function(){
>     $.displayMessage(){ alert('hello world') } // throws js syntax
> errors
>
> });
>
> $(function(){
>     $.displayMessage();
>
> });
>
> I had to do:
>
> $(function(){
>     $.displayMessage = function(){ alert('testing') }; // works fine
>
> });
>
> $(function(){
>     $.displayMessage();
>
> });
>
> I really appreciate you pointing me in the right direction on that.
> With that said, I'm guessing you can't "directly" declare a function
> in the jQuery namespace like I tried to do in the first example, and
> instead you have to assign a function to a variable handle in the
> jQuery namespace instead, as in the second example?
>
> Waseem, as far as the suggestion on writing my own plugin, I was
> considering that approach as well, and I may end up going that route.
> The funny thing is, the actual method I'm trying to call is already a
> call off a plugin, so essentially I would be writing a plugin to
> reference another plugin.  Do any gotchas come to mind doing things
> that way, or would that be considered a fairly common practice?
>
> Thanks again for your thoughts,
> Brian
>
> Thanks a lot!
> Brian
>
> On May 29, 3:54 pm, waseem sabjee <waseemsab...@gmail.com> wrote:
>
> > The easiest way would be to develop your own jquery plugins as plugins are
> > able to reference each other even in different files.
>
> > like i have a plugin that allows me to slide left and right.
> > then i have a plugin to expand and contract.
>
> > i can call either one in either plugin file.
>
> > On Fri, May 29, 2009 at 8:07 PM, Eric Garside <gars...@gmail.com> wrote:
>
> > > It's a simple scoping problem. Anything you create inside an anonymous
> > > function will be accessible only within the function. If you need
> > > something to be accessible between the anon. functions, simply move it
> > > into a higher scope, like the global namespace (eh, not idea) or the
> > > jQuery namespace (better idea).
>
> > > $(function(){
> > >     $.displayMessage(){ alert('hello world') }
> > > });
>
> > > $(function(){
> > >    $.displayMessage();
> > > });
>
> > > On May 29, 12:18 pm, Brian FitzGerald <fitzgeraldme...@gmail.com>
> > > wrote:
> > > > I know that you can have more than on document ready event without
> > > > difficulty. i.e.
>
> > > > $(function(){
> > > >   // document ready 1
>
> > > > });
>
> > > > $(function(){
> > > >   // document ready 2
>
> > > > });
>
> > > > The question I have is, is there any way for them to call functions
> > > > from one to the other?  The following does not work:
>
> > > > $(function(){
> > > >    function displayMessage(){ alert('hello world'); };
>
> > > > });
>
> > > > $(function(){
> > > >   displayMessage();
>
> > > > });
>
> > > > This invokes a js error complaining that displayMessage() is not
> > > > defined.
>
> > > > Thanks in advance for any thoughts,
> > > > Brian

Reply via email to