を置くのに役立ちます。
document.addEventListener('touchstart', handler, true);
はこのようになります:この要するに
document.addEventListener('touchstart', handler, {capture: true});
あなたのケースでは、あなたはそれがそのようにする必要がありtouchstartするイベントリスナーを添付しているので:
document.addEventListener('touchstart', handler, {passive: true});
この方法正確なイベントを事前に設定し、パッシブインターフェイスがサポートされているかどうかを設定することができます:
var passiveEvent = false;
try {
var opts = Object.defineProperty({}, 'passive', {
get: function() {
passiveEvent = true;
}
});
window.addEventListener("test", null, opts);
} catch (e) { }
// in my case I need both passive and capture set to true, change as you need it.
passiveEvent = passiveEvent ? { capture: true, passive: true } : true;
//if you need to handle mouse wheel scroll
var supportedWheelEvent: string = "onwheel" in HTMLDivElement.prototype ? "wheel" :
document.onmousewheel !== undefined ? "mousewheel" : "DOMMouseScroll";
そして、このように使用します。ここでは、受動的イベントリスナーの
elementRef.addEventListener("touchstart", handler, passiveEvent);
詳細: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md