如何获得角度事件的目标?

时间:2014-08-13 15:28:01

标签: jquery angularjs events

也许我在寻找错误的地方。我只想操纵事件目标的DOM。正如你所看到的,我正在那里捣碎一些jquery。

angular如何给我DOM对象,以便操纵它的亲戚?即ev的有效属性是什么?我原本以为ev.target或ev.currentTarget给了我DOM对象。

<div class="table-cell">
  <a ng-mouseover="rollover(this)">Go<div class="tip">Tooltip</div></a>
</div>

$scope.rollover = function(ev){
  $(ev).parents('.table-cell').css('overflow','visible');
  $(ev).find('.tip').show();
};

1 个答案:

答案 0 :(得分:2)

ng-mouseover="rollover(this)"

此关键字指的是范围。你需要在翻转函数中传递$ event,然后使用$ event.target。

<a ng-mouseover="rollover($event)">Go<div class="tip">Tooltip</div></a>

但是如果你想操纵DOM,你应该创建指令。

<a my-dir>Go<div class="tip">Tooltip</div></a>

app.directive("myDir", function () {
  return {
    link: function (scope, element, attrs) {
        $(element).on("mouseover", function () {
            $(element).parents('.table-cell').css("background-color", "yellow");
            $(element).find('.tip').toggle();
        });
    }
  };
});

<强> DEMO