W3cubDocs

/Web APIs

HTMLMediaElement: durationchange event

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨July 2015⁩.

The durationchange event is fired when the duration attribute has been updated.

Syntax

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

addEventListener("durationchange", (event) => { })

ondurationchange = (event) => { }

Event type

A generic Event.

Examples

These examples add an event listener for the HTMLMediaElement's durationchange event, then post a message when that event handler has reacted to the event firing.

Using addEventListener():

const video = document.querySelector("video");

video.addEventListener("durationchange", (event) => {
  console.log("Not sure why, but the duration of the video has changed.");
});

Using the ondurationchange event handler property:

const video = document.querySelector("video");

video.ondurationchange = (event) => {
  console.log("Not sure why, but the duration of the video has changed.");
};

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android WebView on iOS
durationchange_event 3 12 3.5 10.5 3.1 18 4 11 3 1.0 4.4 3

See also

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/durationchange_event