@pirxpilot/nanohref

1.0.0 • Public • Published

NPM version Build Status Dependency Status

@pirxpilot/nanoraf

Fork of nanohref. Tiny href click handler library.

Usage

var nanohref = require('@pirxpilot/nanohref')

// Handler automatically attached to window.document
nanohref(function (location) {
  console.log('new location is', location.pathname)
})

// Create DOM node
var el = document.createElement('a')
el.setAttribute('href', '/my-link')
el.innerText = 'Click me'
document.body.appendChild(el)

// Trigger click
el.click()
// => "new location is /my-link"

Ignoring links

By default all href links are handled. The event is not handled under the following conditions:

  • the click event had .preventDefault() called on it
  • the link has a data-nanohref-ignore attribute
  • the link has a target="_blank" attribute with rel="noopener noreferrer"
  • a modifier key is enabled (e.g. ctrl, alt, shift or meta)
  • the link's href starts with protocol handler such as mailto: or dat:
  • the link points to a different host
  • the link has a download attribute

⚠️ Note that we only handle target=_blank if they also have rel="noopener" on them. This is needed to properly sandbox web pages.

API

nanohref(handler(location))

Create a new anchor click handler.

See Also

License

MIT

Package Sidebar

Install

npm i @pirxpilot/nanohref

Weekly Downloads

1

Version

1.0.0

License

MIT

Unpacked Size

4.67 kB

Total Files

4

Last publish

Collaborators

  • pirxpilot