исправление, необходимое для ошибки в TextField / Text - PullRequest
0 голосов
/ 09 февраля 2010

Вроде сложный сценарий - просто любопытно, может кто-нибудь еще что-нибудь придумает:

У меня есть элемент управления «Текст», и когда я прокручиваю его и останавливаю прокрутку с помощью курсора на некотором тексте с URL-адресом, курсор не возвращается к руке, и флэш-плеер начинает действовать так, как если бы выбор сделано из последней позиции курсора. Итак, насколько я могу определить, истинную ошибку во флэш-памяти.

Выше, вероятно, не совсем ясно, поэтому позвольте мне остановиться подробнее. Если вы схватите полосу прокрутки большим пальцем и начнете перемещать ее вверх и вниз, вам не нужно будет держать указатель мыши на большом пальце при этом. Когда вы останавливаете прокрутку, указатель мыши может находиться за пределами окна браузера, внутри вашего приложения Flash, но в данный момент не на большой панели прокрутки или где-либо еще. Ранее упомянутая ошибка возникает, когда вы останавливаете прокрутку с указателем мыши, расположенным над текстом с помощью привязки html (гиперссылка). В этот момент курсор входит в состояние неопределенности и не показывает указатель руки в URL-адресе, а также действует так, как если бы выделение текста происходило из последней позиции курсора перед прокруткой.

Таким образом, вопрос заключается в том, какое событие я мог бы смоделировать в коде, чтобы вывести вспышку из этого ошибочного состояния, в котором он находится. И, кроме того, в , какое событие я мог бы выполнить это смоделированное событие (учитывая, что например, нет события AS3, сигнализирующего об окончании прокрутки.)

Для ясности, рассматриваемый элемент управления Text находится на холсте, и этот холст (назовите его A) находится на другом холсте, которому фактически принадлежит полоса прокрутки, и прокрутка происходит путем изменения scrollRect холста A.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2010

Это действительно ответ на viatropos.

Мне удалось скопировать ошибку, используя пример кода с конца страницы документации Text в справочнике по Flex 3.5.

Просто замените их htmlText в этом примере огромным блоком htmlText, содержащим теги привязок (<a>...</a>). Затем сделайте окно браузера маленьким. Затем щелкните мышью на произвольной области htmlText (этот шаг важен). Затем прокрутите большим пальцем. Остановите прокрутку с помощью курсора непосредственно над одной из созданных вами гиперссылок и отпустите кнопку мыши. Весь блок htmlText выделен и выделен, и указатель мыши не вернется к руке. (Ну, это будет после того, как вы нажмете где-то еще.)

Что касается сообщения об этом Adobe через их систему отслеживания ошибок, я думаю, если я хочу подождать несколько месяцев, чтобы исправить это. Год назад я сообщил о еще одной подлинной ошибке, которая никогда не была исправлена.

Но изучите их исходный код, как вы и предлагали - возможно, моя лучшая ставка.

0 голосов
/ 09 февраля 2010

Я столкнулся с точно такой же проблемой с TextArea во Flex 4: прокрутите (содержимое textarea больше, чем его контейнер) и отпустите кнопку мыши при наведении ссылки, а курсор не будет работать правильно.

Я думаю, что это ошибка, попробуйте отправить ее в Система управления ошибками и проблемами Adobe .Я буду голосовать за него:).

Используете ли вы Flex 3 или 4?Если вы во Flex 4, я могу сделать несколько предложений.В качестве основы я бы изучил TextArea и связанный с ним исходный код в Flex 3 SDK и выяснил, какие события отправляются из ссылок и еще много чего.Если вы можете исключить возможность того, что это Flash TextField (который использует TextArea), то это ошибка Flex.Попробуйте отправлять события, которые они отправляют внутри TextArea, из вещей, которые его отправляют (Event.CHANGE - это все, что я вижу, бросая быстрый взгляд).

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...