也许我在寻找错误的地方。我只想操纵事件目标的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();
};
答案 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 强>