Отменить действие при наведении, когда оно больше не зависает? - PullRequest
0 голосов
/ 07 июня 2018

У меня есть ситуация, когда пользователь нажимает на кнопку, после небольшой задержки должно появиться небольшое всплывающее окно.

tt = angular.element(element);
  ...
  showTooltipFn = function() {
    setTimeout(function() {
      tt.tooltip("show");
    }, 700);
  };  

Однако, когда вы говорите, быстро наведите курсор мыши на другие кнопки, он отобразит все кнопки, которые вы навели.Я только хочу отобразить всплывающее окно на кнопке, которая в данный момент зависает.Если я больше не зависаю, отмените шоу.

Есть ли способ сделать это с AngularJS?Проверить, что я все еще что-то зависаю?

1 Ответ

0 голосов
/ 07 июня 2018

ngMouseLeave позволяет оценивать выражения после отпускания мыши.

Пример из документов AngularJS

<button ng-mouseleave="count = count + 1" ng-init="count=0">
  Increment (when mouse leaves)
</button>
count: {{count}}

Для вашего случая ...

        var timeoutPromise;
        showTooltipFn = function() {
          timeoutPromise = $timeout(function() {
            tt.tooltip("show");
          }, commonOptions.delay.show);
          tt.on("mouseleave", function() {
            $timeout.cancel(timeoutPromise);
          });
        };
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...