Hi Keith,

When you call Event#stopObserving, you have to use the exact same
handler that was used for Event#observe.

I have not tested it, but try something like this:

var myHandlerObj = {
   handler: function(e) {
      Event.stopObserving(this, 'click', myHandlerObj.boundHandler);
   }
}
myHandlerObj.boundHandler =
myHandlerObj.handler.bindAsEventListener(myHandlerObj);

Event.observe(myNode, 'click', myHandlerObj.boundHandler);



-Laurent


On Oct 22, 9:48 am, Keith Hughitt <[EMAIL PROTECTED]> wrote:
> Could anyone help tell me what I'm missing?
>
> I could have sworn Prototype already had something like this (a
> function that fires only once and then removes itself), but I couldn't
> find it anywhere so I went about writing the code myself.
>
> First I tried to do it by intuition using several variations of:
>
> Event.observe(myNode, 'click', function(e) {
>         /** do stuff **/
>         Event.stopObserving(this);
>
> });
>
> After reading up a little more about "stopObserving" in the API, I
> gave it another stab:
>
> var handler = function(e) {
>         /** do stuff **/
>         Event.stopObserving(myNode, 'click',
> handler.bindAsEventListener(this));
>
> };
>
> Event.observe(myNode, 'click', moveOnce.bindAsEventListener(this));
>
> But the event-handler is still called after the first click.
>
> Any suggestions?
>
> Thanks,
> Keith
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" 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/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to