@@ -15,6 +15,8 @@ var createView = require('3d-view');
15
15
var mouseChange = require ( 'mouse-change' ) ;
16
16
var mouseWheel = require ( 'mouse-wheel' ) ;
17
17
var mouseOffset = require ( 'mouse-event-offset' ) ;
18
+ var Lib = require ( '../../lib' ) ;
19
+ var supportsPassive = Lib . eventListenerOptionsSupported ( ) ;
18
20
19
21
function createCamera ( element , options ) {
20
22
element = element || document . body ;
@@ -188,14 +190,20 @@ function createCamera(element, options) {
188
190
var xy = mouseOffset ( ev . changedTouches [ 0 ] , element ) ;
189
191
handleInteraction ( 0 , xy [ 0 ] , xy [ 1 ] , lastMods ) ;
190
192
handleInteraction ( 1 , xy [ 0 ] , xy [ 1 ] , lastMods ) ;
191
- } ) ;
193
+
194
+ ev . preventDefault ( ) ;
195
+ } , supportsPassive ? { passive : false } : false ) ;
192
196
element . addEventListener ( 'touchmove' , function ( ev ) {
193
197
var xy = mouseOffset ( ev . changedTouches [ 0 ] , element ) ;
194
198
handleInteraction ( 1 , xy [ 0 ] , xy [ 1 ] , lastMods ) ;
195
- } ) ;
196
- element . addEventListener ( 'touchend' , function ( ) {
199
+
200
+ ev . preventDefault ( ) ;
201
+ } , supportsPassive ? { passive : false } : false ) ;
202
+ element . addEventListener ( 'touchend' , function ( ev ) {
197
203
handleInteraction ( 0 , lastX , lastY , lastMods ) ;
198
- } ) ;
204
+
205
+ ev . preventDefault ( ) ;
206
+ } , supportsPassive ? { passive : false } : false ) ;
199
207
200
208
function handleInteraction ( buttons , x , y , mods ) {
201
209
var keyBindingMode = camera . keyBindingMode ;
0 commit comments