![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
Имеется спрайт, подписанный на MouseEvent.DOUBLE_CLICK.По даблклику спрайт поворачивается на 90 градусов(курсор мыши при этом остается в рамках бокса спрайта).И если продолжить остервенело долбить кнопку мыши все последующие даблклики перестают приходить.При этом если чуть сдвинуть мыша, то выскочит еще 1 даблклик и потом опять пропуски.Если остановиться и выждать 1-1.5 сек.- снова 1 событие и тишина.Воспроизводится,похоже, только в хроме.Локально все ок.Кто-нибудь сталкивался? Бага впринципе некритичная, но напрягает что в самом ходовом браузере.
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
неа, не помогает
Добавлено через 25 минут изолировал проблему.Кто под хромом сидит - потыркайте плз.Может это только у меня такая херь. хех, а как делать чтоб предпросмотр был прямо в сообщение? Вот Линк на тоже самое только на хостинге Последний раз редактировалось undefined; 01.05.2015 в 21:49. |
|
|||||
|
Регистрация: Dec 2014
Сообщений: 312
|
Поиграл в твою демку.
На firefox можно тыркать с какой хочешь скоростью. На chrome приходится ждать иначе перестает реагировать. |
|
|||||
|
[+1 09.05.15]
Регистрация: Jan 2015
Сообщений: 113
|
Если с родным не работает, может свой дабл сделать?
|
|
|||||
|
Регистрация: Oct 2006
Сообщений: 2,283
|
Видимо придется.
Добавлено через 25 минут Опера тоже отличилась - тоже стопорится Добавлено через 14 часов 40 минут на будущее, может кому пригодится.Пропатченый спрайт: package { import flash.display.*; import flash.events.*; /** * ... * @author */ public class PatchedSprite extends Sprite { private var lastClickTimestamp:Number = -1; private const DELAY:Number = 200; // time interval beetween two clicks public function PatchedSprite() { super(); this.addEventListener(MouseEvent.CLICK, hClick, false, 0, true); } private function hClick(e:MouseEvent):void { if (this.hasEventListener(MouseEvent.DOUBLE_CLICK)) { var date:Date = new Date(); if (lastClickTimestamp<0) { lastClickTimestamp = date.getTime(); } else if ((date.getTime() - lastClickTimestamp) <= DELAY) { var ev:MouseEvent = new MouseEvent(MouseEvent.DOUBLE_CLICK, e.bubbles, e.cancelable, e.localX, e.localY, e.relatedObject, e.ctrlKey, e.altKey, e.shiftKey, e.buttonDown); this.dispatchEvent(ev); lastClickTimestamp = -1; } else { lastClickTimestamp = date.getTime(); } } } override public function set doubleClickEnabled(value:Boolean):void { // override to disable default doubleclicks } } } Последний раз редактировалось undefined; 01.05.2015 в 21:54. |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|