Невозможно предотвратитьDefault внутри прослушивателя пассивных событий из-за того, что цель рассматривается как пассивная - Chrome - PullRequest
0 голосов
/ 01 апреля 2019

Я использовал следующий код и начал получать приведенную ниже ошибку, что не так с кодом и как его исправить.

Невозможно предотвратитьDefault внутри прослушивателя пассивных событий из-за того, что цель рассматривается как пассивная. Смотри https://www.chromestatus.com/features/6662647093133312

<script>
jQuery(window).scroll(function() {

  if (jQuery(this).scrollTop() > 400) {

    jQuery('.headerN').css("width", "100%");
    jQuery('.headerN').slideDown();
  } else {
    jQuery('.headerN').slideUp();
  }
});
</script>

1 Ответ

0 голосов
/ 01 апреля 2019

В JQuery это все еще открытый вопрос: https://github.com/jquery/jquery/issues/2871

Вы можете сделать это с помощью vanilla js на событии:

el.addEventListener('someEvent', someFn, { passive: false });

, как упомянул кто-то в потоке githubвыше создали обходной путь, который они реализовали:

jQuery.event.special.touchstart = {
    setup: function( _, ns, handle ){
        if ( ns.includes("noPreventDefault") ) {
            this.addEventListener("touchstart", handle, { passive: false });
        } else {
            this.addEventListener("touchstart", handle, { passive: true });
        }
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...