The blend of debounced resize
event with orientationchange
flavor. See the demo.
window.addEventListener('resizeend', function(event) {
// Your callback, e.g.
console.log(event.type);
}, false);
The resizeend
event is dispatched in two cases:
It’s the cure for those window.onresize
skips that occur every pixel as long as you keep resizing your browser’s window. Details matter. performance++
, too.
Switching from portrait mode into landscape (and vice versa) triggers resizeend
. If rotating a device doesn’t alter its viewport dimensions (e.g. rotating it upside down), the event isn’t dispatched, because there’s simply no need to.
Tested in the following browsers:
- Safari 5.1+
- Chrome 20+
- Firefox 14+
- Opera 11+
- Internet Explorer 9+
- Mobile Safari on iOS 5+
Any suggestions are welcome. You can also shout to me on Twitter: I’m @porada.
Distributed under MIT license.