Document: readystatechange event

The readystatechange event is fired when the readyState attribute of a document has changed.

This event is not cancelable and does not bubble.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

addEventListener('readystatechange', (event) => { });

onreadystatechange = (event) => { };

Event type

A generic Event.

Examples

Live example

HTML

<div class="controls">
  <button id="reload" type="button">Reload</button>
</div>

<div class="event-log">
  <label for="eventLog">Event log:</label>
  <textarea readonly class="event-log-contents" rows="8" cols="30" id="eventLog"></textarea>
</div>

CSS

JS

const log = document.querySelector('.event-log-contents');
const reload = document.querySelector('#reload');

reload.addEventListener('click', () => {
  log.textContent ='';
  setTimeout(() => {
      window.location.reload(true);
  }, 200);
});

window.addEventListener('load', (event) => {
    log.textContent = `${log.textContent}load\n`;
});

document.addEventListener('readystatechange', (event) => {
    log.textContent = `${log.textContent}readystate: ${document.readyState}\n`;
});

document.addEventListener('DOMContentLoaded', (event) => {
    log.textContent = `${log.textContent}DOMContentLoaded\n`;
});

Result

Specifications

Specification
HTML Standard
# event-readystatechange

Browser compatibility

BCD tables only load in the browser

See also