eprivalov
@eprivalov
Учусь

Как исправить ошибку Unable to preventDefault inside passive event listener invocation?

Как исправить ошибку Unable to preventDefault inside passive event listener invocation?

Сам код:

(function() {
    		  var supportsPassive = eventListenerOptionsSupported();  
    
    		  if (supportsPassive) {
    		    var addEvent = EventTarget.prototype.addEventListener;
    		    overwriteAddEvent(addEvent);
    		  }
    
    		  function overwriteAddEvent(superMethod) {
    		    var defaultOptions = {
    		      passive: true,
    		      capture: false
    		    };
    
    		    EventTarget.prototype.addEventListener = function(type, listener, options) {
    		      var usesListenerOptions = typeof options === 'object';
    		      var useCapture = usesListenerOptions ? options.capture : options;
    
    		      options = usesListenerOptions ? options : {};
    		      options.passive = options.passive !== undefined ? options.passive : defaultOptions.passive;
    		      options.capture = useCapture !== undefined ? useCapture : defaultOptions.capture;
    
    		      superMethod.call(this, type, listener, options);
    		    };
    		  }
    
    		  function eventListenerOptionsSupported() {
    		    var supported = false;
    		    try {
    		      var opts = Object.defineProperty({}, 'passive', {
    		        get: function() {
    		          supported = true;
    		        }
    		      });
    		      window.addEventListener("test", null, opts);
    		    } catch (e) {}
    
    		    return supported;
    		  }
    		})();
  • Вопрос задан
  • 351 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час