stay-or-go

0.1.1 • Public • Published

stay-or-go

Determine if an anchor click was intended for staying on the current site.

build status dev dependency status

browser support

Example

The function this module exposes should be used in a click handler:

var stayOrGo = require('stay-or-go');
 
window.addEventListener('click', function (evt) {
  var a = stayOrGo(evt);
  if (!a) return;
 
  evt.preventDefault();
 
  history.pushState(a.pathname, '', a.pathname);
}, false);

If one or more of the following is true the return value will be undefined:

  • The default action of the event was already prevented (event.preventDefault()).
  • The user did not click the normal mouse button (when using a mouse).
  • The user held one of the Ctrl, Shift, or Meta keys when clicking.
  • The user did not click an anchor or a child elemnt of an anchor.
  • The anchor clicked has a target attribute.
  • The href of the anchor is pointing to an external site.

Otherwise the return value is the anchor element clicked.

License

MIT

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i stay-or-go

    Weekly Downloads

    3

    Version

    0.1.1

    License

    MIT

    Last publish

    Collaborators

    • uggedal