detect-touch
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/detect-touch package

1.1.2 • Public • Published

This has been deprecated in favor of Detect It


Detect Touch Devices

 

Live touch detection test

detect-touch will detect if a device has a touch interface. It provides both a boolean one time touch detection on import, as well as a function to run the touch detection at any time.

 

Installing detect-touch

$ npm install --save detect-touch

 

Importing detect-touch

Importing only the hasTouch boolean:

import { hasTouch } from 'detect-touch';
// or
var hasTouch = require('detect-touch').hasTouch;

Importing only the detectTouch function:

import { detectTouch } from 'detect-touch';
// or
var detectTouch = require('detect-touch').detectTouch;

Importing both the hasTouch boolean and the detectTouch function:

import { hasTouch, detectTouch } from 'detect-touch';
// or
var hasTouch = require('detect-touch').hasTouch;
var detectTouch = require('detect-touch').detectTouch;

 

Using detect-touch

The hasTouch boolean is established at the time it is imported, and the function to detect a touch device runs only one time. In most cases this is all you need.

// Using the hasTouch boolean:
hasTouch === true;
// or
hasTouch === false;

The detectTouch function attempts to detect a touch device each time it is called and can be used to check or recheck for a touch device at a specific time. Returns a boolean. For example, if detect-touch doesn't have access to the window when it is imported you'll need to wait until it does before checking if a device has a touch interface.

// Using the detectTouch function:
detectTouch() === true;
// or
detectTouch() === false;

 

Detection Tests

detect-touch checks to see if the browser implements any of the following:

The standard W3C Touch Events API (this is the vast majority of touch devices), by checking for:

'ontouchstart' in window

Number of touch points (required to detect Microsoft's Pointer Events API running on a touch device, however, devices not implementing Pointer Events may also indicate this), by checking for:

window.navigator.maxTouchPoints > 0 ||
window.navigator.msMaxTouchPoints > 0 // pre IE 11

Firefox's legacy DocumentTouch (which is now obsolete), by checking for:

window.DocumentTouch && document instanceof DocumentTouch

Readme

Keywords

none

Package Sidebar

Install

npm i detect-touch

Weekly Downloads

371

Version

1.1.2

License

MIT

Unpacked Size

4.72 kB

Total Files

4

Last publish

Collaborators

  • rafgraph