This file contains functions that handle all touch, pointer and click events and trigger unified touch events.
Use the following code to initalize touch on a jQuery object.
$("#touch-target").touchInit();
Options can be passed via an optional argument.
$("#touch-target").touchInit({
preventDefault: true,
mouse: true,
pen: true,
maxtouch: -1,
prefix: ""
});
| Name | Type | Default | Description |
|---|---|---|---|
| preventDefault | boolean | true | prevent default click/touch handlers |
| mouse | boolean | true | Whether unified touch event should be triggered from mouse events. |
| pen | boolean | true | Whether unified touch event should be triggered from pen input. |
| maxtouch | number | -1 | The maximum number of simultaneous points to handle and to trigger event. A negative number means unlimited. |
| prefix | string | '' | Add prefix to the triggering touch event name. It is useful when you want to add handlers with different options. If you pass my_ as prefix, the event name touch_start will become my_touch_start. The same applies to touch_move and touch_end. |
Three kinds of unified touch events will be triggered in response to native click/touch/pointer events. Use the following code to handle these events
$("#touch-target").on("touch_start", function(event) {
// your handler function
});
The event name can be modified using the prefix option. There is the description of all the events.
| Default name | Description |
|---|---|
| touch_start | Triggered when a new touch point starts on the target jQuery object. |
| touch_move | Triggered when a touch point moves. The event will still trigger even if the touch point moves out of the target jQuery object. |
| touch_end | Triggered when a touch point ends or is cancelled. |
An event object will be passed into your handler function. Here is a table of the properties of the event object that is important for handling the event.
| Property name | Type | Description |
|---|---|---|
| type | string | It is the type of the current event. |
| originalType | string | It is the type of the native event triggering the current event. |
| clientX clientY pageX pageY screenX screenY |
number | These are the coordinates of the current touch point triggering the current event. These are the same as those in the native event object. |
| touches | array | It is an array containing all the touches started from the target element and not ended yet. See the table below for properties of the unified touch object. |
| Property name | Type | Description |
|---|---|---|
| id | number | It is the id of the touch given from the native touch/pointer event. It will be 0 if the event is triggered from native mouse event. |
| clientX clientY pageX pageY screenX screenY |
number | These are the coordinates of the touch object. These are the same as those in the native event object. |
If you are finished with handling unified touch events with the jQuery object. Use the following code to dispose.
$("#touch-target").touchDispose();
If you used a prefix in touchInit(), you need to pass the same prefix in touchDispose().
$("#touch-target").touchDispose("my_");