Package Exports
- jquery.idle
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jquery.idle) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
#jQuery Idle
A dead simple jQuery plugin that executes a callback function if the user is idle.
##Usage
Since this is a simple plugin, the usage is simple too.
First, add the jquery.idle.js to your document along with jQuery library:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="jquery.idle.js"></script>
Then, just call the function in the element that you want to track user idleness
$(document).idle({
onIdle: function(){
alert('Since you waited so long, the answer to the Ultimate Question of Life, the Universe, and Everything is 42');
},
idle: 10000
})
That will display a alert (and a great revelation :D) to the user after 10 seconds of idleness.
If you want to call some function after user back from idleness, just add the onActive option:
$(document).idle({
onIdle: function(){
alert('I\'m idle');
},
onActive: function(){
alert('Hey, I\'m back!');
},
idle: 10000
})
To check window visibility, add the onShow or onHide options:
$(document).idle({
onHide: function(){
alert('I\'m hidden');
},
onShow: function(){
alert('Hey, I\'m visible!');
}
})
You can also check if a specific element is idle, actually, you can use any jQuery selector:
$('header, footer').idle({
onIdle: function(){
alert('It\'s been a long time since you don\'t see me');
},
idle: 20000
})
You can choose which events will be used to "refresh" the idle timer
$(document).idle({
onIdle: function(){
alert('It\'s been a long time since you don\'t see me');
},
events: 'mouseover mouseout',
idle: 30000
})
And you can choose if you want to start from an idle state or not
$(document).idle({
onIdle: function(){
alert('It\'s been a long time since you don\'t see me');
},
idle: 30000,
startAtIdle: true
})
##Options
onIdle # callback function that will be triggered when the user gets idle
onActive [ default function(){} ] # callback function that will be triggered when the user gets active
onHide [ default function(){} ] # callback function that will be triggered when window is hidden
onShow [ default function(){} ] # callback function that will be triggered when window is visible
events [ default = mousemove keydown mousedown touchstart ] # events that will reset the idle time
idle [ default = 60000 ] # idle time in ms
keepTracking [ default = true ] # set it to false if you want to track only the first time
startAtIdle [ default = false ] # if you want to start idle, set it to true
##Events
"idle:stop": will stop and remove user tracking
##Changelog
###1.2.4
- Changed keypress to keydown to also detect arrow keys on a keyboard press, and not just the normal A-Z keys (thanks carlblock)
###1.2.3
###1.2.2
- The logic behind 'keepTracking' was a total mess. Rewrote the functionality to work as it should
- Change the default 'keepTracking' value. Now is set to true
###1.2.1
- Added the 'startAtIdle' option so you can choose if you want to start idle or not (@hugohil)
###1.2.0
- Added the 'onHide' and 'onShow' callback functions to be executed when window changes visibility (@DanH42)
###1.1.0
- Renamed the 'callback' setting to 'onIdle'
- Added the 'onActive' callback function to be executed when user back from idleness (thanks @joelsouza for the tip)
###1.0.0
First basic version