Hey guys,

So I want to defer a function of an object, called from within another
function of that object - take a look at my code:

The6YardBox.Dropdown = Class.create({
  initialize: function(li)
  {
    this.li = li;
    this.dropdown = this.li.down('div.dropdown-holder');
    li.observe('mouseover', this.mover.bind(this));
    li.observe('mouseout', this.mout.bind(this));
    this.out = true;
  },
  mover: function()
  {
    this.out = false;
    this.dropdown.show();
  },
  mout: function()
  {
    this.out = true;
    /* HERE IS THE LINE THAT DOESN'T WORK!!! */ this.actionout.delay
(0.1);
  },
  actionout: function(out, dropdown)
  {
    if(this.out)
      this.dropdown.hide();
  }
});

the actionout function does run after .1 second, but it is not bound
to the object so if(this.out) fails. I've tried all kinds of things
like:
this.actionout.bind(this).delay(0.1);
this.actionout.delay(0.1).bind(this);

but just nothing works and I don't really see a way around this as as
soon as the brackets get involved thats a function call and I don't
want the function to be run until both the bind and the delay have
been added.

Any ideas? Surely this must be a problem that comes up a fair bit...?

--~--~---------~--~----~------------~-------~--~----~
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 prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to