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.
Syntax
target.onscroll = functionRef;
Value
functionRef is 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.
Example
This example monitors scrolling on a <textarea>, and logs the element's vertical scroll position accordingly.
HTML
<textarea>1 2 3 4 5 6 7 8 9</textarea> <p id="log"></p>
CSS
textarea {
width: 4rem;
height: 8rem;
font-size: 3rem;
}
JavaScript
const textarea = document.querySelector('textarea');
const log = document.getElementById('log');
textarea.onscroll = logScroll;
function logScroll(e) {
log.textContent = `Scroll position: ${e.target.scrollTop}`;
}
Result
Specifications
| 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
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
onscroll | Chrome Full support Yes | Edge Full support ≤18 | Firefox Full support Yes | IE ? | Opera ? | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support Yes | Opera Android ? | Safari iOS ? | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- Compatibility unknown
- Compatibility unknown