# tap-listener

> Listens to taps

Latest version **2.0.0** (published 2016-06-15) · MIT license · 0 weekly downloads

## Install

```sh
npm install tap-listener
pnpm add tap-listener
yarn add tap-listener
bun add tap-listener
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.0 |
| Published | 2016-06-15 |
| First published | 2015-02-03 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 41 |
| Author | David DeSandro |
| Maintainers | desandro |
| Keywords | tap, touch, click, event, browser, DOM |

## Links

- npm: https://www.npmjs.com/package/tap-listener
- Repository: https://github.com/metafizzy/tap-listener
- Issues: https://github.com/metafizzy/tap-listener/issues
- npm.io page: https://npm.io/package/tap-listener

## Dependencies (1)

- [unipointer](https://npm.io/package/unipointer.md) ^2.1.0

## Alternatives

- [babylon](https://npm.io/package/babylon.md) — 5.1M weekly downloads
- [csscolorparser](https://npm.io/package/csscolorparser.md) — 3.7M weekly downloads
- [expr-eval-fork](https://npm.io/package/expr-eval-fork.md) — 1.5M weekly downloads
- [@leeoniya/ufuzzy](https://npm.io/package/@leeoniya/ufuzzy.md) — 247.7K weekly downloads
- [xml-parser](https://npm.io/package/xml-parser.md) — 78.4K weekly downloads

## Recent versions

- 2.0.0 (latest) — 2016-06-15
- 1.1.2 — 2016-01-26
- 1.1.1 — 2015-04-28
- 1.1.0 — 2015-04-27
- 1.0.0 — 2015-02-26
- 0.1.0 — 2015-02-03

## README

# Tap listener

_Listens to taps_

On mobile devices, the `click` event is triggered after a delay. Tap Listener listens for native touch and pointer events to trigger a callback immediately.

Used in [Flickity](http://flickity.metafizzy.co).

``` js
var tapper = new TapListener( element );
tapper.on( 'tap', function( event ) {
  console.log('tap happened');
});
```

Use `TapListener` to extend a class.

``` js
function Widget() {
  //...
}
// inherit Tap Listener
Widget.prototype = new TapListener();
// or
_.extend( Widget.prototype, TapListener.prototype );

var widgy = new Widget( element );
widgy.on( 'tap', function() {...});
```

## Install

Bower: `bower install tap-listener --save`

npm: `npm install tap-listener`

### RequireJS

``` js
requirejs( [ 'path/to/tap-listener' ], function( TapListener ) {
  var tapper = new TapListener( element );
});
```

### Browserify

``` js
var TapListener = require('tap-listener');
var tapper = new TapListener( element );
```

## API

``` js
var tapper = new TapListener( element )
// element {Element} - binds tap events to element

tapper.bindTap( element )
// element {Element} - binds tap events to element

tapper.unbindTap()
// unbinds tap events

tapper.on( eventName, callback )
// eventName {String} - tap, pointerDown, pointerMove, pointerUp, pointerCancel
// callback {Function}

function callback( event, pointer ) {...}
// event {Event} - the original mouseup, touchend, or pointerup event
// pointer {Event} or {Touch} - event object with pageX and pageY

tapper.destroy()
// unbinds tap events
```

---

MIT license

By [Metafizzy](http://metafizzy.co)

---
_Source: https://npm.io/package/tap-listener · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
