Skip to content

Detect resize on an element without polling or iframes

Notifications You must be signed in to change notification settings

mjamro/resize-event

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

resize-event

Detect resize on an element without polling or iframes

build status NPM version

If the browser supports ResizeObserver this will use that otherwise it will fallback to a MutationObserver to detect changes to the style attribute of an element and then compares the width/height to check if it has changed.

A polyfill is provided for MutationObserver which will then use polling on really old browsers.

usage

import onResize from "resize-event"

// Create or select an element, must be in the DOM
const element = document.createElement('div')
document.body.appendChild(element)

// Bind the event
const observer = onResize(element, () => {
  console.log('element was resized', element.offsetWidth, element.offsetHeight)
})

// Trigger the event
element.style.width = '500px'

// Later disconnect the event
observer.disconnect()

install

npm install resize-event --save

license

(c) 2020 Kyle Robinson Young. MIT License

About

Detect resize on an element without polling or iframes

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%