Skip to content

Commit 836cbc0

Browse files
committed
also emit original pointer events
1 parent 1836002 commit 836cbc0

File tree

2 files changed

+28
-17
lines changed

2 files changed

+28
-17
lines changed

README.md

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,29 @@ eventListener:EventDispatcher = touchEvents.createListener(DOMNode)
4242
**addEventListener**
4343

4444
```javascript
45-
eventListener.addEventListener('wheel', callback:Function);
46-
eventListener.addEventListener('tap', callback:Function);
47-
eventListener.addEventListener('dragstart', callback:Function);
48-
eventListener.addEventListener('drag', callback:Function);
49-
eventListener.addEventListener('dragend', callback:Function);
50-
eventListener.addEventListener('seconddragstart', callback:Function);
51-
eventListener.addEventListener('seconddrag', callback:Function);
52-
eventListener.addEventListener('seconddragend', callback:Function);
53-
eventListener.addEventListener('multitouchstart', callback:Function);
54-
eventListener.addEventListener('multitouch', callback:Function);
55-
eventListener.addEventListener('multitouchend', callback:Function);
45+
// gesture regonizers
46+
eventListener.addEventListener('wheel', callback: Function);
47+
eventListener.addEventListener('tap', callback: Function);
48+
eventListener.addEventListener('dragstart', callback: Function);
49+
eventListener.addEventListener('drag', callback: Function);
50+
eventListener.addEventListener('dragend', callback: Function);
51+
eventListener.addEventListener('seconddragstart', callback: Function);
52+
eventListener.addEventListener('seconddrag', callback: Function);
53+
eventListener.addEventListener('seconddragend', callback: Function);
54+
eventListener.addEventListener('multitouchstart', callback: Function);
55+
eventListener.addEventListener('multitouch', callback: Function);
56+
eventListener.addEventListener('multitouchend', callback: Function);
57+
58+
// original touch events
59+
eventListener.addEventListener('pointerdown', callback: Function);
60+
eventListener.addEventListener('pointermove', callback: Function);
61+
eventListener.addEventListener('pointerup', callback: Function);
5662
```
5763

5864
**setConfig**
5965

6066
```javascript
61-
touchEvents.setConfig(config:Object)
67+
touchEvents.setConfig(config: Object)
6268

6369
config = {
6470
DRAG_THRESHOLD: Number = 10;

src/index.js

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ function eventRegonizer(event) {
5656
case 'pointerdown': {
5757
const listener = listeners.find(({ DOMNode }) => DOMNode === event.target);
5858

59-
if (!listener) return;
59+
if (!listener) break;
6060

6161
const pointer = { event, start: event, preEvents: [event], listener };
6262
if (listener.state.pointers.length >= 1) {
@@ -91,7 +91,7 @@ function eventRegonizer(event) {
9191
const pointer = pointers[pointerId];
9292
// end when pointer is not known
9393
// this can happen when a pointer started outside a known dom node
94-
if (!pointer) return;
94+
if (!pointer) break;
9595

9696
// update pointer
9797
pointer.event = event;
@@ -146,7 +146,7 @@ function eventRegonizer(event) {
146146

147147
// end when pointer is not known
148148
// this can happen when a pointer started outside the screen
149-
if (!pointer) return;
149+
if (!pointer) break;
150150

151151
// update pointer
152152
pointer.event = event;
@@ -204,6 +204,9 @@ function eventRegonizer(event) {
204204
default:
205205
break;
206206
}
207+
208+
const listener = listeners.find(({ DOMNode }) => DOMNode === event.target);
209+
if (listener) listener.eventDispatcher.dispatchEvent(event);
207210
}
208211

209212
function onblur() {
@@ -226,17 +229,19 @@ function onblur() {
226229
window.addEventListener('pointerdown', eventRegonizer);
227230
window.addEventListener('pointermove', eventRegonizer);
228231
window.addEventListener('pointerup', eventRegonizer);
232+
window.addEventListener('pointerover', eventRegonizer);
233+
window.addEventListener('pointerout', eventRegonizer);
229234
window.addEventListener('pointerleave', eventRegonizer);
230235
window.addEventListener('pointercancel', eventRegonizer);
231-
window.addEventListener('contextmenu', eventRegonizer);
232236
window.addEventListener('blur', onblur);
233237

234238
export function __unload() {
235239
window.removeEventListener('pointerdown', eventRegonizer);
236240
window.removeEventListener('pointermove', eventRegonizer);
237241
window.removeEventListener('pointerup', eventRegonizer);
242+
window.removeEventListener('pointerover', eventRegonizer);
243+
window.removeEventListener('pointerout', eventRegonizer);
238244
window.removeEventListener('pointerleave', eventRegonizer);
239245
window.removeEventListener('pointercancel', eventRegonizer);
240-
window.removeEventListener('contextmenu', eventRegonizer);
241246
window.removeEventListener('blur', onblur);
242247
}

0 commit comments

Comments
 (0)