События не распространяются вниз с помощью dispatchEvent - PullRequest
0 голосов
/ 08 октября 2019

В моих угловых тестах у меня есть эти два элемента, где график расположен внутри оболочки:

const wrapper = fixture.debugElement.query(By.css('#canvas-wrapper'));
const graph = fixture.debugElement.query(By.css('#inner-canvas'));

Приложение использует mousemove привязку внутри элемента графика, и для целей тестирования ятакже поместил один на обертку.

  wrapperMouseHandler(event) {
    console.log('wrapper offsets', event.offsetX, event.offsetY);
    console.log('wrapper clients', event.clientX, event.clientY);
  }

  didMoveOnGraph({ offsetX: x, offsetY: y }) {
    console.log('didMoveOnGraph', x, y);
    ... the rest of the method ...
  }

Когда я перемещаю мышь в приложении, перемещаюсь по графику и печатает все 3 оператора журнала.

Я хочу проверитьактивность мыши во всем компоненте (который имеет некоторые другие области, связанные с мышью), и поэтому я хочу проверить, что движения в определенных местах оболочки запускают обработчики в своих дочерних элементах (например, в графике).

Когда я использую dispatchEvent на графике, я могу заставить его всплывать до оболочки. Но мне нужно противоположное поведение, как описано выше - «пузыриться» от оболочки до графика.

Могу ли я сделать это без прямого перемещения мышью на ребенка? Как?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...