0
这就是我的问题:http://jsfiddle.net/2f6qscrp/311/ 不久:我有一个div可以扩展,它显示一个新的div。这种事件必须全部分开。所以,在这个div的每一部分我都可以打开它(就像手风琴一样)。问题是,如果我点击这个div上的按钮之一(他们必须在那里)div打开。如果可能,我会避免这件事。可能吗?Angularjs中的按钮可扩展div
<div ng-app='home'>
<!-- App goes here -->
<md-content md-scroll-y flex layout="column" class="_md ng-scope layout-column flex" layout-padding ng-controller="MainCtrl as mainCtrl">
<div layout="column" md-scroll-y>
<div layout="row" ng-click="showDetailsFunction();" class="div-outline-none div-cursor-pointer">
<h3 flex class="div-card-panel-title">
Blablablabla
</h3>
<span flex></span>
<ul flex class="div-doc-act div-flex">
<li>
<md-button class="md-icon-button no-margin"
data-ng-click="doGreeting('btn1');">
btn1
</md-button>
</li>
<li>
<md-button class="md-icon-button no-margin"
data-ng-click="doGreeting('btn2');">
btn2
</md-button>
</li>
<li>
<md-button class="md-icon-button no-margin"
data-ng-click="doGreeting('btn3');">
btn3
</md-button>
</li>
</ul>
</div>
<div data-ng-if="showDetails" class="animate-if">
<div>
wevniwernviurevnier
</div>
</div>
</div>
</md-content>
</div>
角部位
angular.module('home', ['ngAria', 'ngAnimate', 'ngMaterial']);
angular.module('home').config(function ($mdThemingProvider) {
$mdThemingProvider.theme('default')
.primaryPalette('pink')
.accentPalette('grey');
});
angular.module('home').controller('MainCtrl', function ($scope, $window) {
$scope.showDetails = false;
$scope.showDetailsFunction = function() {
$scope.showDetails = !$scope.showDetails;
};
$scope.greeting = 'Hello, World!';
$scope.doGreeting = function(greeting) {
$window.alert($scope.greeting + " " + greeting);
};
});
如果我使用event.stopPropagation();当我点击按钮时,我无法使用按钮中的功能 –
@ End.Game哦,是的!你仍然可以。看看这个小提琴http://jsfiddle.net/ahzhhuLw/。 – 31piy
我不确定。在我真正的代码中,当我点击其中一个按钮时,会启动一个http调用,如果我放入代码,它不会触发该调用。此外,该调用打开一个模式,并与event.stopPropagation();模态不出现 –