it's the same version of flash player(11.1.102.55) On 9 February 2012 21:22, Rishi Tandon <rishitandon...@yahoo.com> wrote:
> ** > > > Have u checked the version of flash player plugin installed for IE? > > Sent from my iPad > > On 09-Feb-2012, at 5:26 PM, Wouter Schreuders <wschreud...@gmail.com> > wrote: > > > > Hi All > > I've been having problems with the amount of scrolling that happens when > you use the mouse-wheel with VScrollBar. I came up with two possible > solutions(well actually my co-worked came up with the one and I came up > with the other), one is to prevent the default behaviour of the > mouseWheelChanging event. The other was to extend the vScrollbar class and > overwrite some functionality inside it. Both implementations are below. The > problem is that while both of these solutions work inside of firefox and > chrome, they don't seem to work in IE9, I'm guessing that IE9 is somehow > sending mouse-wheel events differently to the way it's done with the > flashplayer in the other browsers. > > Has anyone encountered this before and know of a workaround? > > Thanks > > Wouter > > like so: > > > ---------------------------------------MXML------------------------------------------------- > <s:VScrollBar > id="vScrollBar" viewport="{grpContent}" > mouseWheelChanging="MouseWheelInhibitor.mouseWheelChangingHandler(event)" /> > --------------------------------------- AS > ------------------------------------------------- > package za.co.briteblue.twentytwoseven.presentation.components > { > import mx.events.FlexMouseEvent; > import spark.components.VScrollBar; > > public class MouseWheelInhibitor > { > public static function mouseWheelChangingHandler(event:FlexMouseEvent):void > { > // don't scroll by preventing default > event.preventDefault(); > // est amount to scroll based on height of viewport. > var delta:Number = VScrollBar(event.target).viewport.height / 20; > if(event.delta < 0) > VScrollBar(event.target).viewport.verticalScrollPosition += delta; > else > VScrollBar(event.target).viewport.verticalScrollPosition -= delta; > } > } > } > > ----------------------------------- other solution extending the > vscrollbar class ----------------------------------------- > > package za.co.briteblue.twentytwoseven.presentation.components > { > import flash.events.Event; > import flash.events.MouseEvent; > import mx.core.IInvalidating; > import mx.core.mx_internal; > import mx.events.FlexMouseEvent; > import spark.components.VScrollBar; > import spark.core.IViewport; > import spark.core.NavigationUnit; > import spark.utils.MouseEventUtil; > use namespace mx_internal; > public class TTSVScrollBar extends VScrollBar > { > public function TTSVScrollBar() > { > super(); > } > // @author: braam > // overridden to prevent viewport forced validation with every vertical > scroll position update. > // when viewport is a datagrid, performance is terrible for mouse wheel > scrolling. > override mx_internal function mouseWheelHandler(event:MouseEvent):void > { > const vp:IViewport = viewport; > if (event.isDefaultPrevented() || !vp || !vp.visible || !visible) > return; > // Dispatch the "mouseWheelChanging" event. If preventDefault() is called > // on this event, the event will be cancelled. Otherwise if the delta > // is modified the new value will be used. > var changingEvent:FlexMouseEvent = > MouseEventUtil.createMouseWheelChangingEvent(event); > if (!dispatchEvent(changingEvent)) > { > event.preventDefault(); > return; > } > const delta:int = changingEvent.delta; > var nSteps:uint = Math.abs(delta); > var navigationUnit:uint; > var scrollPositionChanged:Boolean; > // Scroll delta "steps". > navigationUnit = (delta < 0) ? NavigationUnit.DOWN : NavigationUnit.UP; > for (var vStep:int = 0; vStep < nSteps; vStep++) > { > var vspDelta:Number = vp.getVerticalScrollPositionDelta(navigationUnit); > if (!isNaN(vspDelta)) > { > vp.verticalScrollPosition += vspDelta; > scrollPositionChanged = true; > // if (vp is IInvalidating) > // IInvalidating(vp).validateNow(); > } > } > if (scrollPositionChanged) > dispatchEvent(new Event(Event.CHANGE)); > event.preventDefault(); > } > } > } > > = > > >