![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Sep 2009
Сообщений: 35
|
Привет всем)
Почему когда курсор мыши находится над TextArea, то нельзя скролить контент колесиком? Кто знает как это избегать - помогите пожалуйста) |
|
|||||
|
Регистрация: Apr 2008
Сообщений: 27
|
Есть аналогичная проблема: внутри Scroller находятся NumericStepper и когда в них помещён курсор, то скроллер не прокручивается колесом мыши. Спрашивал решение здесь, но никто не ответил.
Судя по-всему проблема в одном и том же, подскажите пожалуйста что с этим делать? |
|
|||||
|
Регистрация: Apr 2008
Сообщений: 27
|
Сделал сейчас такой тест с NumericStepper и TextArea:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
protected function nStep_mouseWheelHandler(event:MouseEvent):void {
event.preventDefault();
}
protected function tArea_mouseWheelHandler(event:MouseEvent):void {
event.preventDefault();
}
]]>
</fx:Script>
<s:Scroller x="126" y="135" width="200" height="150">
<s:VGroup width="100%">
<s:Button label="Кнопка"/>
<s:Label text="Метка"/>
<s:NumericStepper id="nStep" mouseEnabled="false"
mouseWheel="nStep_mouseWheelHandler(event)"/>
<s:CheckBox label="Флажок"/>
<s:TextArea id="tArea" width="100%" height="100" mouseEnabled="false"
mouseWheel="tArea_mouseWheelHandler(event)"/>
</s:VGroup>
</s:Scroller>
</s:Application>
Что я делаю не так? Можно какой-то пример, чтобы разобраться? |
|
|||||
|
Регистрация: Sep 2009
Сообщений: 35
|
я сделал так..
Создал класс: package freetools { import flash.events.MouseEvent; import mx.controls.TextArea; public class UnscrollableTextArea extends TextArea { override protected function mouseWheelHandler(event:MouseEvent):void { } } } и вместо myTextArea:TextArea пишу myTextArea:UnscrollableTextArea .Работает )) Последний раз редактировалось vasyapunk; 26.07.2010 в 17:07. |
|
|||||
|
Регистрация: Apr 2008
Сообщений: 27
|
Аналогичная реализация для NumericStepper:
package comps { import spark.components.NumericStepper; import flash.events.MouseEvent; public class UnscrollNumStepper extends NumericStepper { public function UnscrollNumStepper() { super(); } override protected function system_mouseWheelHandler(event:MouseEvent):void { } } } Может можно как-нибудь обойтись без дополнительных классов? Отмена стандартной обработки event.preventDefault() не срабатывает у меня т.к. обработчик мой вызывается только когда мышь над NumericStepper, а значения меняются даже без этого, лишь бы курсор внутри был. Это происходит из-за того, что system_mouseWheelHandler (класс Spinner), который я перекрываю подписан на корневой SystemManager, а не на сам компонент, видимо поэтому события идут мимо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|