Skip to content
This repository was archived by the owner on Oct 3, 2019. It is now read-only.

makeup-jquery/jquery-focus-exit

Repository files navigation

jquery-focus-exit

Build Status Coverage Status Dependency status devDependency status

ATTENTION: A non-jQuery version is now available at makeup-focus-exit-emitter.

Triggers 'focusExit' event when keyboard focus moves to a non-descendant of widget. This type of behaviour is especially desirable for non-modal overlays.

JavaScript's native 'focusout' event fires when any descendant of a given element loses keyboard focus, even if another descendant immediately gains focus. This type of behaviour is not desirable for non-modal overlays.

// init plugin
$(collection).focusExit();

// handle event
$(collection).on('focusExit', function(e, data) {
    console.log(data.lostFocus, data.gainedFocus);
})

Install

npm install jquery-focus-exit

Development

Run npm start to run the demo page using browser-sync. Run npm run tdd for test driven development. All tests are located in test.js.

Useful NPM scripts:

  • npm start runs demo page on local server and re-syncs browser on source file change
  • npm test runs tests & generates reports (see reports section below)
  • npm run tdd test driven development: watches code and re-tests after any change
  • npm run lint lints code and reports to jshint.txt
  • npm run build cleans, lints, tests and minifies (called on npm prepublish hook)

Execute npm run to view all available CLI scripts.

Reports

Each test run will generate the following reports:

  • /test_reports/coverage contains Istanbul code coverage report
  • /test_reports/html contains HTML test report
  • /test_reports/junit contains JUnit test report

CI Build

https://travis-ci.org/makeup-jquery/jquery-focus-exit

Code Coverage

https://coveralls.io/github/makeup-jquery/jquery-focus-exit?branch=master

About

jQuery plugin to detect when all focus has exited a component

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published