: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 > > >
