获取ngClick指令中的元素

Get element inside ngClick directive

本文关键字:元素 指令 ngClick 获取      更新时间:2023-09-26

是否可以在ngClick指令中获取当前元素对象。例如:

<div data-ng-click=" $element.hide() "> ... </div>

其中$element是div元素的jquery包装器。我知道我可以为此编写自己的指令,但我不想为每一项琐碎的任务都这样做。也许有人有主意?

在ng-click中,您总是有通过$event提供的本机事件。

所以你可以这样做:

$scope.hideElement = function($event) {
    $($event.target || $event.srcElement).hide();
}

并在您的模板中使用它,如:

<div data-ng-click="hideElement($event)">Hide me</div>

演示:http://jsfiddle.net/bezLr0f5/

工作演示

你可以在控制器中做得更好:

function HomeCtrl($scope, $element) {
  $scope.hideElement = function() {
    $($element).hide();
  }
}

HTML:

<div data-ng-click="hideElement()">Hide me</div>

使用ng隐藏

<div data-ng-hide="hideIt" data-ng-click="hideIt = true">Hide Me</div>

或者你可以创建一个指令,它也有动画https://stackoverflow.com/a/25953153/4062004