javascript - ng-click 不适用于不透明度为 :1; 的对象

标签 javascript css angularjs modal-dialog

我有一个 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/

相关文章:

javascript - 将大部分代码包装在回调函数中是 JS 中的常见做法吗?

jQuery retract 的使用会影响其他 div 标签

javascript - AngularJS 在渲染大约 2000 个元素时真的很慢吗?

javascript - 动态改变 ng-options

javascript - 依次执行 Promise.all

javascript - 提交 Ajax 表单但没有发送到 Controller ?

text - 单独移动文本 div 标签

javascript - 为什么我的 Jquery 元素大小调整不起作用?

javascript - 如何识别 javascript 中函数的参数名称?

javascript - 如何从 vue.js 组件模板中调用带参数的方法?