1

私のページには、スパンがある非常に単純なコードスニッパーがあります。このスパンにカーソルを合わせると、angular-ui-bootstrap を使用しているポップオーバーが表示されます。

<span uib-popover="This is a popover from Akhilesh"
              ng-mouseenter="vm.logToConsole('I am trying hard...')"
              popover-trigger="mouseenter">Hover over me to see a popup..!!</span>

基本的に、ユーザーがこのスパンにカーソルを合わせたときに API 呼び出しを行う関数を作成しました。ここでの問題は、10 個のスパン タグが上下にあり、ユーザーが 1 番目のスパンから 10 番目のスパンにすばやく移動するとします (間にある 8 つのスパンすべてにカーソルを合わせるプロセスで)、すべてのスパンに対して API 呼び出しがトリガーされます。 . これは私が持つつもりのないものです。

ここでデバウンス機能を実装するにはどうすればよいですか?

4

3 に答える 3

0

マウスが領域に入った後、1 秒などの遅延を使用し、マウスが別の領域に入っていない場合は、API 呼び出しを行います。

于 2015-11-08T22:08:54.727 に答える
0

popover-is-open 属性は 0.13.4 リリースで追加され、次のようにポップオーバーの状態を監視するために使用できます。

<span uib-popover="This is a popover from Akhilesh"
          popover-is-open="vm.isOpen"
          popover-trigger="mouseenter">Hover over me to see a popup..!!</span>

次に、コントローラーで:

$scope.$watch('isOpen', function() { });

ただし、ポップオーバーがすぐに開かないようにしたい場合は、 popover-open-delay 属性の使用を検討してください。

于 2015-11-09T12:45:37.663 に答える