Skip to content

Errors / Blocked by the browser

[Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event.

A script listens to touches in a way that can make scrolling on phones feel slower.

Scrolling on touch screens can lag, especially on cheaper phones.

Why it happens

  • A touchstart, touchmove or wheel listener without { passive: true }: the browser must wait for it before scrolling, in case it calls preventDefault().
  • Common in sliders, maps and older jQuery.

How to fix it

  1. Add { passive: true } to listeners that never cancel scrolling.
  2. Where a listener must cancel it (a map being dragged), keep it, on the smallest element possible.
  3. It is a warning, not an error, and nothing breaks; the cost is scrolling that starts late on phones. Chrome already treats touchstart and touchmove listeners on the window, document and body as passive by default, so the ones it reports are on other elements, which is where to look in the named file.

Whose problem it is

Either the site's own code or a third party's, depending on where it comes from.

Does your site have it?

Free, no account. We open your page and four more in a clean Chrome and list every error like this one, with the page and the click that caused it. How the free page check works.

Check only sites you run or have permission to check.