The onscroll property of the GlobalEventHandlers mixin is an EventHandler that processes scroll events.

The scroll event fires when the document view or an element has been scrolled, whether by the user, a Web API, or the user agent.

Note: Don't confuse onscroll with onwheel!

onwheel handles general wheel rotation, while onscroll handles scrolling of an object's content.


target.onscroll = functionRef


A function name, or a function expression. The function receives a UIEvent object as its sole argument.

Only one onscroll handler can be assigned to an object at a time.

For greater flexibility, you can pass a scroll event to the EventTarget.addEventListener() method instead.


This example monitors scrolling on a <textarea>, and logs the element's vertical scroll position accordingly.


<textarea>1 2 3 4 5 6 7 8 9</textarea>
<p id="log"></p>


textarea {
  width: 4rem;
  height: 8rem;
  font-size: 3rem;


const textarea = document.querySelector('textarea');
const log = document.getElementById('log');

textarea.onscroll = logScroll;

function logScroll(e) {
  log.textContent = `Scroll position: ${}`;



Specification Status Comment
HTML Living Standard
The definition of 'onscroll' in that specification.
Living Standard
Document Object Model (DOM) Level 3 Events Specification
The definition of 'onscroll' in that specification.
Obsolete Initial definition

Browser compatibility

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
onscrollChrome Full support YesEdge Full support ≤18Firefox Full support YesIE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android ? Safari iOS ? Samsung Internet Android Full support Yes


Full support
Full support
Compatibility unknown
Compatibility unknown

See also