AngularJS factory implementation of debounced window resize event handler.
Inject the resize factory into your application module:
angular.module('myApp', ['resize']);
Inject the resize factory into your application where you'd like to implement it.
angular
.module('myApp')
.controller('MainCtrl', function(resize) {
var rs = resize.init({
scope: $scope,
resizedFn: function() { //window was resized! },
debounce: 200
});
});
- Type:
scope object - Default: none
scope is needed to unbind the resize listener when $scope is destroyed. This prevents the event handler from
leaking into undesired areas of your single page application.
- Type:
function - Default: none
resizedFn is the debounced function you'd like to run as your resize handler. This function will run when the
viewport is resized.
- Type:
integer - Units:
milliseconds - Default:
100
debounce is the number in milliseconds to wait before executing the resizedFn function while the window is
actively being resized. If no value is provided, a default of 100 will be used. 0 is an acceptable (but
inadvisable) valid value if no debouncing is desired.