Ni55aN
@Ni55aN

Angular перезаписывает нативные события?

Библиотека на основе D3.js используется в Angular приложении. В этой библиотеке визуальные элементы и их события создаются через d3.js. К примеру: zoom и click назначены на главный элемент-контейнер, в котором первое отвечает за перемещение и увеличение/уменьшение блока, а клик служит для открытия меню. Логично, что кликом считается только то событие, когда мы в одном месте нажали LMB. Все так и происходит в обычном окружении (не Angular). Но в Angular наблюдается следующее поведение - click срабатывает даже тогда, когда было сделано перемещение (через zoom модуль), а именно при отбрасывании LMB.

Сразу заподозрил в этом Angular и его вмешательство в события, но это происходит даже с ViewEncapsulation.None. Если через devtools в обычном окружении попробовать удалить листенер на событие (выбрать элемент -> Event Listeners), тогда оно не будет больше срабатывать. Но со встроенным тем же кодом в Angular это не выполняется - событие как прослушивалось, так и продолжает. Значит, ангуляр перезаписывает куда-то события? Но куда? И можно ли как-то это отключить, сделав определенный блок в компоненте изолированным от влияния ангуляра?

Пример можете попробовать здесь: https://github.com/Ni55aN/D3NE-examples/tree/maste...
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы