ng-click не работает на объектах с непрозрачностью: 1;

0

У меня есть проект 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 для того, чтобы вы, ребята, играли с ^^

  • 0
    Есть ли шанс, что вы могли бы создать скрипку, чтобы продемонстрировать проблему?
Теги:
modal-dialog

1 ответ

2
Лучший ответ

Проблема возникает из вашего CSS:

pointer-events: none;

События не запускаются в вашем div, поэтому не запускают click event на вашей button.

Я создал JSFiddle для сравнения с и без pointer-events: none; имущество.

  • 0
    Это проблема, с которой вы полностью правы, спасибо ^^ Однако, если я pointer-event: none; другие кнопки не работают на моем сайте. какие-либо предложения?
  • 1
    Я обновил JSFiddle. Вы просто должны заставить CSS кнопки быть следующим: pointer-events: auto; и событие будет запущено :)
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню