我有这个:

<div class="col-md-2 col-md-offset-1 team" ng-mouseover="showDetails()" >
           ....
           ....
           ....
</div>


我想将鼠标悬停的整个部分传递给angularjs函数,以便随后找到每个孩子。

 $scope.showDetails = function(item){
        console.log(item);
        var element = $(item).find('#child1');
     }


我尝试了showDetails(this)和showDetails($ this)以及showDetails({{this}}),但它们似乎不起作用。第一个在控制台上打印一些内容,但是可能由于某些错误而出错,因为它找不到child1。我做错了什么?

a {$id: "004", this: a, $$listeners: Object, $$listenerCount: Object, $parent: a…}

最佳答案

您可以通过$event.target访问它。

<div class="col-md-2 col-md-offset-1 team" ng-mouseover="showDetails($event)" >
    ....
</div>

$scope.showDetails = function(evt){
    console.log(evt.target);
    var element = $(evt.target).find('#child1');
}


这可能意味着您要操纵控制器中的元素,这是禁止的。您应该使用所需的功能进行自定义指令。

关于javascript - 将此作为参数传递给angularjs函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23453546/

10-09 23:17