Back to Content

LayoutShift: lastInputTime property

files/en-us/web/api/layoutshift/lastinputtime/index.md

latest1.6 KB
Original Source

{{SeeCompatTable}}{{APIRef("Performance API")}}

The lastInputTime read-only property of the {{domxref("LayoutShift")}} interface returns the time of the most recent excluding input or 0 if no excluding input has occurred.

Layout shifts are only bad if the user wasn't expecting them. Layout shift metrics like {{glossary("CLS")}} exclude shifts that occurred soon after certain user interactions. These interactions are called excluding inputs. Excluding inputs are:

  • Any events which signal a user's active interaction with the document: (mousedown, keydown, and pointerdown)
  • Any events which directly changes the size of the viewport.
  • change events.

The mousemove and pointermove events are not excluding inputs.

Value

A {{domxref("DOMHighResTimeStamp")}} indicating the most recent excluding input time or 0 if no excluding input has occurred.

Examples

Logging last input times

Log excluding input times if excluding input has occurred.

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    if (entry.lastInputTime) {
      console.log(entry.lastInputTime);
    }
  });
});

observer.observe({ type: "layout-shift", buffered: true });

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • {{domxref("LayoutShift.hadRecentInput")}}