Существует ли какое-либо обходное решение проблемы с Adobe Flash, где Flash Movie не получает событие mouse up, если мышь вытаскивается за пределы фильма?Есть ли обходной путь к ошибке Flash, где выбор не останавливается?
EDIT: Эта проблема, кажется, затрагивает Firefox только
См: http://bugs.adobe.com/jira/browse/FP-234
В основном проблема, у меня есть флэш-ролик, который содержит текстовое поле, и если пользователь щелкает в текстовое поле и перетаскивание, чтобы выбрать (выделить) текст, и они перетаскиваются за пределы флеш-ролика и отпустите мышь, тогда перемещение FLASH не получит событие для разблокировки мыши и даже если мышь поднята, перемещая курсор вокруг страницы продолжает изменять выбранный текст внутри вспышки.
Многие предложили использовать ActinScript для прослушивания события MOUSE_LEAVE, но есть две проблемы. Во-первых, я использую AS2, а не AS3, и, во-вторых, кажется, что MOUSE_LEAVE не срабатывает, если мышь удерживается, когда он покидает сцену.
EDIT 2: «грязный хак» Джорджа Форинцы в основном работал на меня в течение нескольких месяцев ... но по состоянию на 8/24/10 я теперь вижу, что Adobe пометила эту проблему как окончательную, наконец!
Я считаю, что Selection.setFocus() не остановил выбор, который был «в процессе», насколько это касается Flash. Чтобы увидеть эту проблему, используйте Firefox и в любом флеш-ролике с текстовым полем щелкните внутри текстового поля и перетащите за пределы всей вспышки. Затем отпустите мышь и, нажав кнопку мыши, наведите курсор на текстовое поле. Вы заметите, что выбор продолжается. – Josh
Я понял, что вы имели в виду, и обновил мой пример. setFocus(), похоже, работает лучше с экземплярами Button. Вероятно, вы можете скрыть смену фокуса, поставив кнопку на сцену или установив для свойства _focusrect значение false. –
Извините, я имею в виду проверить это в течение нескольких месяцев и просто не имел шансов! Я надеюсь протестировать его в ближайшие несколько недель и согласится, если он сработает. – Josh