Удалить функцию после того, как она была запущена один раз - PullRequest
0 голосов
/ 24 марта 2020

Простите, мои знания jQuery / javascript все еще находятся в режиме обучения.

У меня есть модал с намерением выхода, который появляется на моей странице. Я использую плагин jQuery cook ie, чтобы он не появлялся снова некоторое время. Это все работает правильно, за одним исключением. Если он сработал на странице, он снова сработает на той же странице, если вы не уйдете. Таким образом, кто-то закрывает модал, затем прокручивает страницу, затем снова появляется модал, если они уводят мышь.

Мой вопрос: как я могу удалить эту функцию или изменить ее, если она сработала один раз? Я знаю, что это применимо только к одной странице, но я надеюсь, что повар ie позаботится об этом после того, как они уйдут.

Мысли? Вот мой код.

    // Exit intent
    function addEvent(obj, evt, fn) {
        if (obj.addEventListener) {
            obj.addEventListener(evt, fn, false);
        }
        else if (obj.attachEvent) {
            obj.attachEvent("on" + evt, fn);
        }
    }

    // Cookie Expires every 5 Days
    $(document).ready(function() {
        var visited = $.cookie('visited');
        if (visited == 'yes') {
            return false;
        } else {
            addEvent(document, 'mouseout', function(evt) {
              if (evt.toElement == null && evt.relatedTarget == null ) {
                  $('#modal').fadeIn();
                  $('.modalmask').fadeIn();
              }
            });
        }
        $.cookie('visited', 'yes', { expires: 5, path: '/' });
    });

    // Closing the Popup Box
    $('.close_modal, .modalmask').click(function() {
      $('#modal').fadeOut();
      $('.modalmask').fadeOut();
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...