stay-or-go

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

npm install stay-or-go
8 downloads in the last month

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

npm loves you