如何在angularjs中为mouseover和mouseleave创建自定义指令

时间:2015-10-26 11:46:09

标签: angularjs

我想创建自定义指令而不是ng-mouseover和ng-mouseleave,因为ng-mouseleave在chrome中不起作用。

我的要求是当我鼠标悬停时,应该出现一个弹出窗口,当我鼠标移动时,它应该关闭。在chrome中的关闭功能没有关闭(弹出关闭的频率不一致)。

<div class="eleCalc" ng-mouseover="calcPopOver(i)" id="term{{i.Id}}" ng-mouseleave="hidePopOvers()">
                    {{calcNumbers(i)}}
</div>

calcPopOver函数打开弹出窗口 hidePopOvers()关闭。

请帮助创建新指令。

由于

1 个答案:

答案 0 :(得分:7)

是的,您可以使用下面的自定义指令来实现您想要的功能。

app.directive('domDirective', function () {
      return {
          restrict: 'A',
          link: function ($scope, element, attrs) {
              element.on('click', function () {
                  element.html('You clicked me!');
              });
              element.on('mouseenter', function () {
                  element.css('background-color', 'yellow');
              });
              element.on('mouseleave', function () {
                  element.css('background-color', 'white');
              });
          }
      };
  });

相同的工作代码笔如下所示。

CodePen

有关自定义指令的详细信息,请访问以下链接。

weblogs.asp.net