Проблема с обработкой pointerevent в Firefox
Доброго дня.
Кто сталкивался с такой проблемой?
Перевел все события мыши и таучи (touch events) на универсальные pointer events. Во всех хромоподобных браузерах все нормально, как описано в стандарте. Проблема c firefox/
Когда срабатывает касание экрана (pointerdown) должен автоматически выполняться захват указателя т.е. куда бы потом не двигался палец по экрану, все события передаются тому элементу, на котором произошло касание. (К мыши это не относится, но для нее можно выполнить принудительный захват функцией setPointerCapture). Но firefox не хочет этого делать. Как только палец по какой то причине сполз с элемента, события перестают ему поступать.
Решил его обмануть - выполняю и для пальчиков принудительный захват. Сработало!
Но не тут то было. Когда палец отводится от экрана, по событию pointerup нужно освободить указатель функцией releasePointerCapture.
И тут firefox выдает новую фигню - ошибку "недействительный указатель" (pointerId). Т.е он сбрасывает идентификатор указателя, до того, как отработает обработчик pointerup.
Чего делать - не пойму.
Кто сталкивался и как решалось?
Опять напрягает несоответствие браузеров друг другу и стандартам.
|