After looking at in the $.ajax(...) function, which is implicitly
invoked via $.load(...), I noticed that the 'ajaxStart' event is
triggered explicitly using jQuery.event.trigger(...). Therefore, I
don't think the event is triggered on a specific element (which would
obviously allow you to access it via 'this').

However, I see a number of solutions which might fit the bill for you
application. Have you thought of using the new Event.live(...)
functionality (http://docs.jquery.com/Events/live)? You could include
something similar to the following code:

$('button.ajax').live('click', function(){
    var $loadTarget = $(this);
    $loadTarget.css(
        top: $loadTarget.offset().top,
        left: $loadTarget.offset().left,
        width: $loadTarget.width(),
        height: $loadTarget.height()
    ).show();

   // ajax stuff here
});

Every button inserted into your page DOM with the class 'ajax' would
have this click handler bound to them. You could get fancier by
including attributes such as ajaxURL="..." to these buttons and having
the click handler invoke the Ajax call using each button's specific
URL.

Just an idea.

- Gavin

On Mar 6, 6:20 am, Alexandre Plennevaux <[email protected]> wrote:
> i know, i have no problem to make my script work if i specifically
> tweak my load() calls but i would like to set it in one place.
>
> See:  http://pixeline.be/test/loadanim/demo.html
>
> The buttons use the same div, shape it to the same size as the load
> container and display it. i would like to automate that behaviour
> instead of having to attach it to all 'click' events.
>
> On Fri, Mar 6, 2009 at 12:09 PM, d3r1v3d (Gavin Mulligan)
>
> <[email protected]> wrote:
>
> > For the throbber div you mentioned, why not initialize it just before
> > you make the call to load()? As the name suggests, all Ajax calls are
> > asynchronous, so you could initialize the throbber div to start
> > displaying 'Loading... Please Wait' just before you make the call and
> > then hide this loading notification div in the success function
> > attached to the Ajax call.
>
> > Hope this helps.
>
> > - Gavin
>
> > On Mar 6, 5:59 am, pixeline <[email protected]> wrote:
> >> Hello,
>
> >> I'm trying to set a function that should be triggered on all ajax
> >> start events. Therefore i thought i should use
>
> >> $.ajaxStart(myFunc);
>
> >> What my function should do is overlay the specific DOM element that
> >> will receive the new content with a throbber, "please wait" div,
> >> typically the element against which load() is called. yet i can't find
> >> a way to get it from inside the function.
>
> >> Suggestion: shouldn't the target element be stored in the ajax
> >> object ?
>
> >> I've posted on hte general jquery for answers before posting it here 
> >> :http://groups.google.com/group/jquery-en/browse_thread/thread/df7f42a...
>
> >> Feel free to reply there if you think my suggestion is not relevant.
--~--~---------~--~----~------------~-------~--~----~
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