Просмотр полной версии : Практика изменения параметра useCapture у функции addEventListener
Alexmody
23.10.2013, 19:25
У addEventListener есть параметр useCapture:Boolean (default = false), которая регулирует фазу/место вызова события. А на практике, в чем разница, если событие будет обрабатываться в фазе захвата или же в фазе цели и восхождения. Вероятно, это влияет на приоритет выполнения событий…
В каких практических случаях, обычно используются различные значения useCapture?
Например, когда нужно сделать что-то до выполнения собственно обработчика события. Скажем, если кнопка не прямоугольная, может быть более точная проверка на хит-тест по пикселям кнопки, и отмена обработки события клика, если пользователь попал мышкой по спрайту, но не попал собственно по изображению кнопки.
maincode
24.10.2013, 14:54
Есть контейнер A, в нем лежит спрайт B. Внутри класса B слушается событие клика мыши. Но класс A хочет уметь контролировать клики мыши внутри класса B, т.е. пропускать или не пропускать событие CLICK в определенный момент. Конечно есть множество способов решить эту проблему, например класс B в момент получения события может спрашивать у родителя разрешения на выполнения(через callback). Но это плохая практика, потому что класс B становится зависимым от A. Но по условию задачи класс A должен сам решать пускать событие в B или нет, поэтому мы можем слушать событие клика в фазе захвата в классе A, и отменять его при необходимости.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.