@@ -43,14 +43,34 @@ var MouseManager = new Class({
4343 this . manager = inputManager ;
4444
4545 /**
46- * If true the DOM mouse events will have event. preventDefault applied to them, if false they will propagate fully .
46+ * If ` true` the DOM `mousedown` event will have ` preventDefault` set .
4747 *
48- * @name Phaser.Input.Mouse.MouseManager#capture
48+ * @name Phaser.Input.Mouse.MouseManager#preventDefaultDown
4949 * @type {boolean }
5050 * @default true
51- * @since 3.0.0
51+ * @since 3.50.0
52+ */
53+ this . preventDefaultDown = true ;
54+
55+ /**
56+ * If `true` the DOM `mouseup` event will have `preventDefault` set.
57+ *
58+ * @name Phaser.Input.Mouse.MouseManager#preventDefaultUp
59+ * @type {boolean }
60+ * @default true
61+ * @since 3.50.0
5262 */
53- this . capture = true ;
63+ this . preventDefaultUp = true ;
64+
65+ /**
66+ * If `true` the DOM `mousemove` event will have `preventDefault` set.
67+ *
68+ * @name Phaser.Input.Mouse.MouseManager#preventDefaultMove
69+ * @type {boolean }
70+ * @default true
71+ * @since 3.50.0
72+ */
73+ this . preventDefaultMove = true ;
5474
5575 /**
5676 * A boolean that controls if the Mouse Manager is enabled or not.
@@ -198,7 +218,11 @@ var MouseManager = new Class({
198218
199219 this . enabled = config . inputMouse ;
200220 this . target = config . inputMouseEventTarget ;
201- this . capture = config . inputMouseCapture ;
221+ this . passive = config . inputMousePassive ;
222+
223+ this . preventDefaultDown = config . inputMousePreventDefaultDown ;
224+ this . preventDefaultUp = config . inputMousePreventDefaultUp ;
225+ this . preventDefaultMove = config . inputMousePreventDefaultMove ;
202226
203227 if ( ! this . target )
204228 {
@@ -297,17 +321,25 @@ var MouseManager = new Class({
297321 */
298322 startListeners : function ( )
299323 {
324+ var target = this . target ;
325+
326+ if ( ! target )
327+ {
328+ return ;
329+ }
330+
300331 var _this = this ;
301- var canvas = this . manager . canvas ;
302- var autoFocus = ( window && window . focus && this . manager . game . config . autoFocus ) ;
332+ var manager = this . manager ;
333+ var canvas = manager . canvas ;
334+ var autoFocus = ( window && window . focus && manager . game . config . autoFocus ) ;
303335
304336 this . onMouseMove = function ( event )
305337 {
306- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled )
338+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled )
307339 {
308- _this . manager . onMouseMove ( event ) ;
340+ manager . onMouseMove ( event ) ;
309341
310- if ( _this . capture )
342+ if ( _this . preventDefaultMove )
311343 {
312344 event . preventDefault ( ) ;
313345 }
@@ -321,11 +353,11 @@ var MouseManager = new Class({
321353 window . focus ( ) ;
322354 }
323355
324- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled )
356+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled )
325357 {
326- _this . manager . onMouseDown ( event ) ;
358+ manager . onMouseDown ( event ) ;
327359
328- if ( _this . capture && event . target === canvas )
360+ if ( _this . preventDefaultDown && event . target === canvas )
329361 {
330362 event . preventDefault ( ) ;
331363 }
@@ -334,20 +366,20 @@ var MouseManager = new Class({
334366
335367 this . onMouseDownWindow = function ( event )
336368 {
337- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled && event . target !== canvas )
369+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled && event . target !== canvas )
338370 {
339371 // Only process the event if the target isn't the canvas
340- _this . manager . onMouseDown ( event ) ;
372+ manager . onMouseDown ( event ) ;
341373 }
342374 } ;
343375
344376 this . onMouseUp = function ( event )
345377 {
346- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled )
378+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled )
347379 {
348- _this . manager . onMouseUp ( event ) ;
380+ manager . onMouseUp ( event ) ;
349381
350- if ( _this . capture && event . target === canvas )
382+ if ( _this . preventDefaultUp && event . target === canvas )
351383 {
352384 event . preventDefault ( ) ;
353385 }
@@ -356,58 +388,50 @@ var MouseManager = new Class({
356388
357389 this . onMouseUpWindow = function ( event )
358390 {
359- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled && event . target !== canvas )
391+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled && event . target !== canvas )
360392 {
361393 // Only process the event if the target isn't the canvas
362- _this . manager . onMouseUp ( event ) ;
394+ manager . onMouseUp ( event ) ;
363395 }
364396 } ;
365397
366398 this . onMouseOver = function ( event )
367399 {
368- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled )
400+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled )
369401 {
370- _this . manager . setCanvasOver ( event ) ;
402+ manager . setCanvasOver ( event ) ;
371403 }
372404 } ;
373405
374406 this . onMouseOut = function ( event )
375407 {
376- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled )
408+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled )
377409 {
378- _this . manager . setCanvasOut ( event ) ;
410+ manager . setCanvasOut ( event ) ;
379411 }
380412 } ;
381413
382414 this . onMouseWheel = function ( event )
383415 {
384- if ( ! event . defaultPrevented && _this . enabled && _this . manager && _this . manager . enabled )
416+ if ( ! event . defaultPrevented && _this . enabled && manager && manager . enabled )
385417 {
386- _this . manager . onMouseWheel ( event ) ;
418+ manager . onMouseWheel ( event ) ;
387419 }
388420 } ;
389421
390- var target = this . target ;
391-
392- if ( ! target )
393- {
394- return ;
395- }
396-
397422 var passive = { passive : true } ;
398- var nonPassive = { passive : false } ;
399423
400- target . addEventListener ( 'mousemove' , this . onMouseMove , ( this . capture ) ? nonPassive : passive ) ;
401- target . addEventListener ( 'mousedown' , this . onMouseDown , ( this . capture ) ? nonPassive : passive ) ;
402- target . addEventListener ( 'mouseup' , this . onMouseUp , ( this . capture ) ? nonPassive : passive ) ;
403- target . addEventListener ( 'mouseover' , this . onMouseOver , ( this . capture ) ? nonPassive : passive ) ;
404- target . addEventListener ( 'mouseout' , this . onMouseOut , ( this . capture ) ? nonPassive : passive ) ;
405- target . addEventListener ( 'wheel' , this . onMouseWheel , ( this . capture ) ? nonPassive : passive ) ;
424+ target . addEventListener ( 'mousemove' , this . onMouseMove ) ;
425+ target . addEventListener ( 'mousedown' , this . onMouseDown ) ;
426+ target . addEventListener ( 'mouseup' , this . onMouseUp ) ;
427+ target . addEventListener ( 'mouseover' , this . onMouseOver , passive ) ;
428+ target . addEventListener ( 'mouseout' , this . onMouseOut , passive ) ;
429+ target . addEventListener ( 'wheel' , this . onMouseWheel , passive ) ;
406430
407- if ( window && this . manager . game . config . inputWindowEvents )
431+ if ( window && manager . game . config . inputWindowEvents )
408432 {
409- window . top . addEventListener ( 'mousedown' , this . onMouseDownWindow , nonPassive ) ;
410- window . top . addEventListener ( 'mouseup' , this . onMouseUpWindow , nonPassive ) ;
433+ window . top . addEventListener ( 'mousedown' , this . onMouseDownWindow , passive ) ;
434+ window . top . addEventListener ( 'mouseup' , this . onMouseUpWindow , passive ) ;
411435 }
412436
413437 if ( Features . pointerLock )
@@ -418,7 +442,7 @@ var MouseManager = new Class({
418442
419443 _this . locked = ( document . pointerLockElement === element || document . mozPointerLockElement === element || document . webkitPointerLockElement === element ) ? true : false ;
420444
421- _this . manager . onPointerLockChange ( event ) ;
445+ manager . onPointerLockChange ( event ) ;
422446 } ;
423447
424448 document . addEventListener ( 'pointerlockchange' , this . pointerLockChange , true ) ;
0 commit comments