Запустите функцию только один раз.&& не работает в IE - PullRequest
0 голосов
/ 24 февраля 2019

Эта функция должна запускаться только один раз, что работает в Chrome и FF - НО в IE вы можете запускать ее несколько раз.Как я могу сделать так, чтобы он мог запускаться только один раз в IE?

function topSect() {
  var mouseY = 0;
  var topValue = 10;
  var executed = false;

  window.addEventListener("mouseout", function(e) {
      mouseY = e.clientY;
      if (mouseY < topValue && !executed) {
        //do something here
        executed = true;
      }
    },
    false);
};

1 Ответ

0 голосов
/ 24 февраля 2019

Используйте removeEventListener , чтобы гарантировать, что отпуск мыши когда-либо срабатывает только один раз.

var mouseY = 0;
var topValue = 10;
var executed = false;

function mouseoutHandler(e){
  window.removeEventListener("mouseout", mouseoutHandler, false);
  mouseY = e.clientY;
  exectued = true;
  console.log(mouseY);
}

function topSect() {
  window.addEventListener("mouseout", mouseoutHandler, false);
};


topSect();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...