[angularjs]获取表当单击

发布时间: 2017/4/16 2:54:40
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我怎样才能而不是 td 事件 tr?

app.controller('myController', ['$scope'], function($scope) {
    $scope.OnRowFocused = function (event) {
        event.target.attributes.class.nodeValue = 'active';
    }
});

<table>
    <tr ng-click="OnRowFocused($event)">
        <td>
            Column 1
        <td/>
        <td>
            Column 2
        <td/>
    </tr>
</table>

当我点击任何行中的列时,我总是 td 事件而不是 tr。我想要 tr 事件,所以我可以突出显示重点的行,当用户与它交互。

解决方法 1:

请使用 event.currentTarget ,会给你当前元素事件发生的事情。

$scope.OnRowFocused = function (event) {
    console.log('This is the correct element',event.currentTarget);
    console.log("class list", event.currentTarget[0].classList)
};

我不会推荐去为这种方法,你在哪里似乎从控制器操作 DOM。它应该在指令中去某个地方。

演示 Plunkr

赞助商