:once means "remove this event handler once it is fired" and delegation is
on the parent, so in this case it's useless.

I'll reiterate that delegating mouseovers is ill-advised.

Here's your solution:

http://jsfiddle.net/GHWX3/5/

On Mon, Oct 10, 2011 at 8:38 AM, hairbo <[email protected]> wrote:

> I've finally had a chance to put a fiddle together, which hopefully shows
> the issue (which may just be my own ignorance).
>
> http://jsfiddle.net/GHWX3/4/
>
> So if you run that fiddle as-is, nothing happens the first time you roll
> over either of the tip anchors, but you do see the tip on each subsequent
> rollover.  that makes sense, since the Tip is being attached, but not
> explicitly fired, on the first mouseover.
>
> What I can't figure out is how to actually fire the tip.  If I uncomment
> the "thistip.show()" line, I get the identical behavior as before.  So,
> obviously I'm doing something wrong--I just can't figure out what it is.
>  (Also, I stripped out the store/retrieve stuff to simplify the example).
>
> The other, perhaps expected, behavior has to do with adding ":once" after
> "relay:a(tipanchor)".  If you have "relay:a(tipanchor):once", then the
> mouseover is not fired once per child element, but once per parent.  So, a
> tip gets attached to the first tip anchor that is moused over, and that's
> it.  No other tip anchor gets the tip behavior.  I guess that makes sense?
>  ":once" means "once per parent" rather than "once per child"?
>
> For the record, I likely won't use this delegation method for Tips, but I
> would like to understand it, now that I've started down the path.  And I
> haven't had time to look at the Behavior stuff, though I still intend to.
>
> Thanks,
> Ben
>
>
>

Reply via email to