From: Jordi 'I. M. <jmi...@or...> - 2001-01-11 12:49:20
|
I'm discovering lots of things about the event model now that we have the precreation code. I don't really know if it has always been the same but I never realized. If you could just have a little patience I think I can beat it. Jordi 'IlMaestro' Ministral wrote: > I'm missing events... did I screw something ? First I thought but then going back to the latest code ( > before my modifications ) I am missing those same events. Ohh please just a little luck from time to > time !!!!! > > In NS you can apply the same "for (each image in doc) img.lyrobj = myself" event trick to the links > array. > > Jordi 'IlMaestro' Ministral wrote: > > > I have updated CVS with a new events.js that should fix IEs event problems. All the example files > > worked fine. This is what happened ( at least this is something I found, maybe there are still > > other issues ): > > > > - All browser events in DynAPI are captured and passed to the same EventMethod. This eventMethod > > identifyes the physical layer, cancels browser event, searches for the appropiate DynmLayer object > > and invokes its event. > > > > - In IE, in order to access the DynLayer object we use the lyrobj property of the DIV itself. This > > property is set when creating a layer so from code executed within the DIV's scope we can still get > > to our DynLayer obj. The problem with our contents was that when clicking on a text, most of the > > times the srcElement of the event was not the DIV but a FONT, TD, TR, TABLE, UL,... element. That > > element did not have a pointer to the dynlayer and thus the API could not route the event properly. > > > > - This issue was partially solved for images by doing: > > > > if (is.ie) for (i in dlyr.elm.all.tags("img")) dlyr.elm.all.tags("img")[i].lyrobj=dlyr; > > > > So images had a pointer to the layer aswell. This we would have needed to do to all elements in our > > content, somethig really painful. Instead, I added this line inside eventmethod. > > > > for(;is.ie && !realsrc.lyrobj && realsrc.parentElement && > > realsrc.parentElement!=realsrc;realsrc=realsrc.parentElement); > > > > Which actually makes realsrc travel IE's object hierarchy until we find the lyrobj reference. By > > doing so I fixed events in IE5 and 5.5. I'm not that sure everything is fine now, but it is an > > improvement. > > > > There are several lines in that method such as that > > > > if (e.type=="mouseover" || e.type=="mouseout") return false; > > > > just before the bubbleEvent() call that I don't understand but I prefer not to touch them. > > > > By the way, it seems that when clicking on a selectable text, NS does not fire a click event. > > Mousedown and mouseup are fired, but click isn't. We could fire it manually but then when clicking > > outside a text we would get two onclicks. > > > > Tell me if I broke something. Sure I did. > > > > Cya > > > > _______________________________________________ > > Dynapi-Dev mailing list > > Dyn...@li... > > http://lists.sourceforge.net/mailman/listinfo/dynapi-dev > > _______________________________________________ > Dynapi-Dev mailing list > Dyn...@li... > http://lists.sourceforge.net/mailman/listinfo/dynapi-dev |