假设我有一个 DIV
,其中指定了当通过 ng-click
单击它时调用的函数。
在此DIV
内有一个BUTTON
,它还有一个在单击时调用的函数,由ng-click
指定。
当我单击按钮时,DIV
的单击函数和 BUTTON
的单击函数都会被调用。
如何才能只调用 BUTTON
的函数?
我已经设置了这个fiddle为了更好地说明我的意思。下面是代码:
HTML:
<body ng-app="Test">
<section ng-controller="TestCtrl as ctrl">
<div class="square" ng-click="ctrl.divClick()">
<span>My text</span>
<button ng-click="ctrl.buttonClick()" >My button</button>
</div>
</section>
</body>
JavaScript:
(function() {
var app = angular.module('Test', []);
app.controller('TestCtrl', [function() {
this.divClick = function() {
alert('div clicked');
};
this.buttonClick = function() {
alert('button clicked');
}
}]);
})();
编辑:
最佳答案
停止事件的传播:
<button ng-click="ctrl.buttonClick($event)">
this.buttonClick = function(e) {
e.stopPropagation();
alert('button clicked');
}
关于javascript - 元素及其父元素指定了 ng-click,两者都被称为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913266/