I did :), just small code modification:
[...]
if(evt.element()!=elm && !evt.element().descendantOf(elm))
elm.removeClassName('visible');
[...]
thanks again!
On 13 Paź, 21:57, Walter Lee Davis <[EMAIL PROTECTED]> wrote:
> Good point. I'm having a hard time coming up with a really layout-
> agnostic method for fixing this case. There's an example I saw
> elsewhere on this list that uses Event.findElement to do this:
>
> document.observe('click', function(event) {
> if (event.findElement('#nav')) $('nav').hide();
> });
>
> But note that the argument to findElement is a full CSS id, not an
> element like P or DIV, as the documentation for findElement
> signifies. I have not read the source, so I'm not sure what exactly
> is going on in this function.
>
> So while it seems to work here, this might just be a fluke. Also,
> this works fine for a hard-coded ID, but if you want it to be more
> flexible, and use less code, it's going to take some work to port to
> a better code model.
>
> Best to look at the source, and see if there's something in there you
> can use.
>
> Walter
>
> On Oct 13, 2008, at 3:42 PM, poncjusz wrote:
>
>
>
> > Thanks for advances.
>
> > Walter your I think that your solution is the best but what if my
> > toggled element contains another elements ie.
> > <div id="test">
> > <img src=".... />
> > <a href="#">[...]
> > </div>
> > then when I clicked on img result of:
> > var elm = $('test');
> > if(evt.element() == elm)
> > will be false
>
> > On 13 Paź, 15:44, Walter Lee Davis <[EMAIL PROTECTED]> wrote:
> >> Observe document.click, and filter out events that do not include the
> >> item in question.
>
> >> document.observe('click', function(evt){
> >> var elm = $('yourElement');
> >> if(evt.element() != elm)
> >> elm.hide();
>
> >> }
>
> >> Walter
>
> >> On Oct 12, 2008, at 6:02 PM, poncjusz wrote:
>
> >>> Hi,
>
> >>> I'm toggling element (show/hide) by giving specific class name
> >>> (.visible) but how could I make an effect that when I click
> >>> everywhere
> >>> EXCEPT this toggled element, it disappear?
>
> >>> thanks in advanced
> >>> Tom
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---