кажется, что ваши триггеры mouseover
и mouseleave
находятся в списке items
, однако, открыв диалоговое окно Angular Material, вы также откроете оверлейный слой, что-то вроде:
<div class"cdk-overlay-backdrop cdk-overlay-dark-backdrop cdk-overlay-backdrop-showing"></div>
Который имеет z-indez
из 1000
и, вероятно, перекрывает ваши предметы, поэтому mouseleave
не будет срабатывать, поскольку теперь над элементом есть еще один элемент DOM.
Для того, что вы хотите, я предлагаю просматривать всплывающие подсказки или всплывающие окна (которые обычно расположены относительно элемента), а не диалоги. В противном случае, каждый раз, когда вы открываете диалоговое окно поверх элемента item, оно не закрывается автоматически при отпускании мыши.