0

每当单击 DIV 中的任何元素时,我都想在 Angular 控制器中执行一个函数。

这个怎么做?

基本上我希望在 DIV 元素上放置一个 ng-click 并期望在单击嵌套在 div 内的任何/所有元素时调用 ng-click 事件。

如何达到这个要求?

4

1 回答 1

1

这里容器和按钮都有点击事件。当你点击按钮时,它的父级的点击事件也会被触发。这在 JavaScript 中称为事件冒泡

var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
    $scope.clicked = function() {
        console.log("Clicked Me");
    };
    $scope.secondclick = function() {
        console.log("Button Clicked")
    }
});
.container {
    width: 100%;
    height: 300px;
    background: cyan;
    cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
    <div class="container" ng-click="clicked()">
        <button ng-click="secondclick()">Click Me</button>
    </div>
</div>

于 2021-10-04T16:07:03.417 回答