The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×

    A custom 'shake' event plugin for mobile web browsers using device accelerometer.
    Filed under 

    • 🔾42%Overall
    • 1,513
    • 73.3 days
    • 🕩287
    • 👥12


    A custom 'shake' event JavaScript plugin for mobile web browsers using device accelerometer.


    • Download: zip
    • NPM: npm install shake.js
    • Bower: bower install shake.js
    • Git: git clone


    Your web browser must support the devicemotion event for this plugin to work. Shake.js uses built-in feature detection to determine if it can run in your web browser. It will terminate silently on non-supporting browsers.


    For CommonJS using NPM:

    var Shake = require('shake.js');

    For AMD module:

    define(['./shake'], function(Shake) {
        // ...

    In the browser:

    <script src="shake.js"></script>

    Next, create a new Shake instance:

    var myShakeEvent = new Shake({
        threshold: 15, // optional shake strength threshold
        timeout: 1000 // optional, determines the frequency of event generation

    Start listening to device motion:


    Register a shake event listener on window with your callback:

    window.addEventListener('shake', shakeEventDidOccur, false);
    //function to call when shake occurs
    function shakeEventDidOccur () {
        //put your own code here etc.

    You can stop listening for shake events like so:

    window.removeEventListener('shake', shakeEventDidOccur, false);

    To stop listening to device motion, you can call:


    Supported web browsers/devices

    • iOS Safari 4.2.1 (and above)
    • Android 4.0.3 (default browser)
    • Chrome 41+ for Android
    • Opera Mobile (Android)
    • BlackBerry PlayBook 2.0
    • Firefox for Android
    • FirefoxOS Devices
    Show All