jquery-common-keys v0.8.0
jquery-common-keys
jQuery collection plugin that triggers events for common accessibility keys, e.g. enter, space, esc, arrows for keydown and keyup events. If you only require keydown events, please use jquery-common-keydown instead.
$(collection).commonKeys();Experimental
This plugin is still in an experimental state, until it reaches v1.0.0 you must consider all minor releases as breaking changes. Patch releases may introduce new features, but will be backwards compatible. Until v1.0.0 release, please use the caret range specifier in your package.json to pin to a fixed minor version.
Install
npm install jquery-common-keysExample
<ul class="widget">
<li><button>Button 1</button></li>
<li><button>Button 2</button></li>
<li><button>Button 3</button></li>
</ul>// non-delegated event listener
$('.widget').commonKeys().on('spaceKeyDown enterKeyUp', function(e) {
// this = ul
// e.target = button
});
// delegated event listener
$('.widget').commonKeys().on('spaceKeyDown enterKeyUp', 'button', function(e) {
// this = button
// e.target = button
});Events
enterKeyDownescapeKeyDownspaceKeyDownpageUpKeyDownpageDownKeyDownendKeyDownhomeKeyDownleftArrowKeyDownupArrowKeyDownrightArrowKeyDowndownArrowKeyDownenterKeyUpescapeKeyUpspaceKeyUppageUpKeyUppageDownKeyUpendKeyUphomeKeyUpleftArrowKeyUpupArrowKeyUprightArrowKeyUpdownArrowKeyUp
Constants
$.fn.commonKeys.keyCodes = {
ENTER: 13,
ESCAPE: 27,
SPACE: 32,
PAGEUP: 33,
PAGEDOWN: 34,
END: 35,
HOME: 36,
LEFTARROW: 37,
UPARROW: 38,
RIGHTARROW: 39,
DOWNARROW: 40
};Dependencies
Development
Run npm start for test driven development. All tests are located in test.js.
Execute npm run to view all available CLI scripts:
npm starttest driven development: watches code and re-tests after any changenpm testruns tests & generates reports (see reports section below)npm run lintlints code and reports to jshint.txtnpm run minifybuilds minified version of codenpm run buildcleans, lints, tests and minifies (called onnpm prepublishhook)npm run cleandeletes all generated test reports and coverage files
Reports
Each test run will generate the following reports:
/test_reports/coveragecontains Istanbul code coverage report/test_reports/htmlcontains HTML test report/test_reports/junitcontains JUnit test report
CI Build
https://travis-ci.org/ianmcburnie/jquery-common-keys
Code Coverage
https://coveralls.io/github/ianmcburnie/jquery-common-keys?branch=master