Задать вопрос
@GuRax

Почему директива ng-mouseenter не срабатывает на созданные директивой ng-if элементы?

Добрый день.
Совместно с AngularJS используется SVG.
В SVG нарисовано некоторое количество кругов.
<defs>
		<g id="test"> 
			<circle cx="0" cy="20" r="20"/>
		</g>
	</defs>
<g ng-repeat="node in nodes" ng-mouseenter="focusIn()" ng-mouseleave="focusOut()">
      <g ng-if="visible">
         <ellipse id="2" cx="20" cy="0" rx="20" ry="20" />
         <g >
            <use id="3" xlink:href="#test" x="0" y="0" /> 
         <g/>
      <g/>
   <circle id="1" cx="0" cy="0" r="20"/>
</g>


******************
$scope.visible = false;
$scope.focusIn=function() {
$scope.visible = true;
}
$scope.focusOut=function() {
$scope.visible = false;
}

Вопрос в следующем. Мы видим круги (id=1). Если мы наводим на один из них, то рядом с этим кругом появляется эллипс (id=2) и второй круг(id=3). При попытке навести курсор на элипс( id=2), ничего не происходит, т.е. он воспринимается как единое целое с кругом (id=1). Но если мы наведем на круг (id=3), то эллипс и этот круг пропадают, потому что срабатывает директива ng-mouseleave.
Как сделать так, чтоб ng-mouseenter реагировала и на круг (id=3)?

Извиняюсь, если немного непонятно задал вопрос.
  • Вопрос задан
  • 186 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя GuRax К ответам на вопрос (4)
@GuRax Автор вопроса
jQuery пока не хотел использовать.

iCat верно подметил, что mouseenter уже сработал.
Вопрос в том, как сделать чтоб при наведении на фигуру с id=3 не срабатывал mouseleave. (тюею считал это одним целым с фигурой id=1)
Ответ написан