Cada vez que se hace clic en cualquier elemento dentro de mi DIV, quiero ejecutar una función en el controlador Angular.
¿Como hacer esto?
Básicamente, estoy buscando colocar un ng-click en el elemento DIV y espero que se llame al evento ng-click cuando se haga clic en cualquiera/todos los elementos anidados dentro del div.
¿Cómo lograr este requisito?
Aquí tanto el contenedor como el botón tienen eventos de clic. Al hacer clic en el botón, también se activará el evento de clic de su padre. Esto se llama burbujeo de eventos en 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>