Skip to content

Instantly share code, notes, and snippets.

@jokemmy
Last active October 30, 2017 08:16
Show Gist options
  • Select an option

  • Save jokemmy/e8342bbeac37b6e9f719d89cecbdb036 to your computer and use it in GitHub Desktop.

Select an option

Save jokemmy/e8342bbeac37b6e9f719d89cecbdb036 to your computer and use it in GitHub Desktop.

提高滚动流畅度

passive-event-listeners

addEventListener 的参数定义

target.addEventListener(type, listener[, options]);
target.addEventListener(type, listener[, useCapture]);

passive-event-listeners 的 hack

// Test via a getter in the options object to see 
// if the passive property is accessed
var supportsPassive = false;
try {
  var opts = Object.defineProperty({}, 'passive', {
    get: function() {
      supportsPassive = true;
    }
  });
  window.addEventListener("test", null, opts);
} catch (e) {}

// Use our detect's results. 
// passive applied if supported, capture will be false either way.
elem.addEventListener(
  'touchstart',
  fn,
  supportsPassive ? { passive: true } : false
);

写的很精妙

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment