У меня есть проект 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
, поэтому не запускают click event
на вашей button
.
Я создал JSFiddle для сравнения с и без pointer-events: none;
имущество.
pointer-event: none;
другие кнопки не работают на моем сайте. какие-либо предложения?
pointer-events: auto;
и событие будет запущено :)