Я использую библиотеку [email protected] (с [email protected] и react-konva
) для создания простой 2D-игры.KonvaJS: Невозможно предотвратить детекцию внутри пассивного прослушивателя событий из-за того, что цель обрабатывается как пассивная
При тестировании приложения в Chrome все хорошо. Тем не менее, когда я открываю Dev Tools и переключиться на панель устройства (для просмотра приложения на мобильном размере видовых) я получаю предупреждение:
Unable to preventDefault inside passive event listener due to target being treated as passive.
See https://www.chromestatus.com/features/5093566007214080
Я прочитал ссылку и исследовал {passive: true}
вариант для AddEventListener
. Тем не менее, я не прямо звоню AddEventListener
в свой код, это все абстрагируется через Konva и React.
Кроме того, ни одно из событий кликов, связанных с созданными Konva элементами холста, не работает в режиме устройства. Если я выйду из панели инструментов устройства, все будет работать нормально, а элементы щелчка будут работать по назначению.
Как включить прослушиватели пассивных событий в Konva/React? (И это даже решение?)
Я не уверен, откуда взялись эти ошибки. Но для включения поддержки сенсорных событий вам необходимо добавить сенсорные прослушиватели в свой код. Например. добавьте «onClick» и «onTap». – lavrton
Раньше я использовал 'onClick'. Должен ли я заменить те (или добавить) 'onTap'? Для этого требуется пакет Tappable? –
Вам не нужны никакие другие пакеты. Вам просто нужно добавить больше слушателей (события касания и события мыши - это разные события в Конве). – lavrton