我有一个 Angular
元素,我试图在其中创建一个用于登录的模式对话框窗口。
但是,我的模式中的 ng-click
元素不会触发调用。所有在我的模态之外的都可以正常工作。
这怎么可能?
app.css
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0, 0, 0, 0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}
.modalDialog:target {
opacity:1;
pointer-events: auto;
}
.modalDialog > div {
width: 50%;
min-height: 50%;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #F5F5F0);
background: -webkit-linear-gradient(#fff, #F5F5F0);
background: -o-linear-gradient(#fff, #F5F5F0);
}
navbar.html
<div class="navigationbar" ng-controller="NavbarCtrl">
...
<a href="#loginModal" ng-click="hello()"></a> <!-- Works like a charm -->
...
<div id="loginModal" class="modalDialog">
<div>
<div class="col-sm-12">
<form>
<div>
<button class="btn btn-inverse btn-lg btn-login" ng-click="hello()">
Login
</button> <!-- works like shite in high heels -->
</div>
</form>
</div>
</div>
</div>
</div>
navbar.controller.js
'use strict';
angular.module('lunorthApp')
.controller('NavbarCtrl', function ($scope, $location, Auth, $window) {
...
$scope.hello = function(){
console.log('hello');
};
...
});
和一个JsFiddle为了让你们一起玩^^
最佳答案
问题实际上来自您的 CSS:
pointer-events: none;
事件不会在您的 div
中触发,因此不会触发您的 button
上的 click 事件
。
我创建了一个 JSFiddle比较有无 pointer-events: none;
属性。
关于javascript - ng-click 不适用于不透明度为 :1; 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007368/