Почему мой код с pointerEvents = 'none' не работает?

У меня на странице есть кнопка для входа через эппл айди.

<script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
    <div id="appleid-signin" class="apple-sign-in text-center oauth-link" data-color="black" data-border="true" data-type="sign-up"></div>
    <script type="text/javascript">
        AppleID.auth.init({
            clientId : '<%= ENV['APPLE_CLIENT_ID'] %>',
            scope : 'name email',
            redirectURI : '<%= callback_apple_url %>',
            state : 'state'
        });
    </script>

А так же чекбокс с правилами. Я хочу заблокировать действия кнопки при нажатии на нее и показать сообщение если пользователь не нажал на чекбокс с правилами.

Я не силен в JS, попробовал написать следующий код:

if (!$('.oauth-terms-agreement').prop('checked')) {
    document.getElementById('appleid-signin').style.pointerEvents = 'none';
    $('.oauth-link').click(function () {
      $('.site-wrapper').prepend('<div class="alert alert-error">Please agree to the Privacy Policy and Terms & Conditions.</div>');
        });
  };

Он блокирует нажатия на кнопку, но все же, не показывает сообщение при клике. Если убрать

document.getElementById('appleid-signin').style.pointerEvents = 'none';

То сообщение показывается, но кнопка остается рабочей.

Как я могу сделать, что бы при клике на кнопку ничего не происходило, кроме показа сообщения, пока пользователь не нажмет на чекбокс?


Ответы (0 шт):