Make Input Events Passive

Make input event listeners passive

  1. // ==UserScript==
  2. // @name Make Input Events Passive
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description Make input event listeners passive
  6. // @author https://github.com/zzarcon/default-passive-events
  7. // @include *
  8. // @run-at document-start
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13.  
  14. var e,t=["scroll","wheel","touchstart","touchmove","touchenter","touchend","touchleave","mouseout","mouseleave","mousemove","mouseenter","mousewheel","mouseover"];
  15. if(function(){
  16. var e=!1;
  17. try{
  18. var t=Object.defineProperty({},"passive",{get:function(){e=!0}});
  19. window.addEventListener("test",null,t)
  20. window.removeEventListener("test",null,t)}
  21. catch(e){}return e}())
  22. {var o=EventTarget.prototype.addEventListener;
  23. e=o
  24. EventTarget.prototype.addEventListener=function(o,r,n){
  25. var s,a="object"==typeof n&&null!==n,i=a?n.capture:n;
  26. (n=a?function(e){
  27. var t=Object.getOwnPropertyDescriptor(e,"passive");
  28. return t&&!0!==t.writable&&void 0===t.set?Object.assign({},e):e}(n):{}).passive=void 0!==(s=n.passive)?s:-1!==t.indexOf(o)&&!0
  29. n.capture=void 0!==i&&i
  30. e.call(this,o,r,n)}
  31. EventTarget.prototype.addEventListener._original=e}
  32.  
  33.  
  34. })();