每当点击div中的任何元素时,我都想在Angular控制器中执行一个函数。
如何做到这一点?
基本上,我希望在DIV元素上放置一个ng-cack,并期望在单击嵌套在DIV中的任何/所有元素时调用ng-cack事件。
如何实现这一要求?
这里容器和按钮都有点击事件。当您单击该按钮时,其父按钮的单击事件也将被触发。这在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>