jQuery collection plugin that adds observer for common accessibility keydown event, e.g. enter, space, esc, arrows.
$(collection).commonKeyDown();npm install jquery-common-keydown<ul>
<li><button>Button 1</button></li>
<li><button>Button 2</button></li>
<li><button>Button 3</button></li>
</ul>// non-delegated event listener
$('ul').commonKeyDown().on('spaceKeyDown enterKeyDown', function(e) {
// this = ul
// e.target = button
});
// delegated event listener
$('ul').commonKeyDown().on('spaceKeyDown enterKeyDown', 'button', function(e) {
// this = button
// e.target = button
});enterKeyDownescapeKeyDownspaceKeyDownpageUpKeyDownpageDownKeyDownendKeyDownhomeKeyDownleftArrowKeyDownupArrowKeyDownrightArrowKeyDowndownArrowKeyDown
$.fn.commonKeyDown.keyCodes = {
ENTER: 13,
ESCAPE: 27,
SPACE: 32,
PAGEUP: 33,
PAGEDOWN: 34,
END: 35,
HOME: 36,
LEFTARROW: 37,
UPARROW: 38,
RIGHTARROW: 39,
DOWNARROW: 40
};Run npm start for browser based development or npm run tdd for test driven development. All tests are located in test.js.
Execute npm run to view all available CLI scripts:
npm startlaunch local server and refreshes browser on any source file changenpm testruns tests & generates reports (see reports section below)npm run tddtest driven development: watches code and re-tests after any changenpm run lintlints code and reports to lint.txtnpm run buildcleans, lints, tests and minifies (called onnpm prepublishhook)npm run cleandeletes all generated test reports and coverage files
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
https://travis-ci.org/makeup-jquery/jquery-common-keydown
https://coveralls.io/github/makeup-jquery/jquery-common-keydown?branch=master