@@ -58,10 +58,12 @@ dragElement.unhoverRaw = unhover.raw;
58
58
* e is the original event
59
59
*/
60
60
dragElement . init = function init ( options ) {
61
- var gd = options . gd ,
62
- numClicks = 1 ,
63
- DBLCLICKDELAY = interactConstants . DBLCLICKDELAY ,
64
- startX ,
61
+ var gd = options . gd ;
62
+ var numClicks = 1 ;
63
+ var DBLCLICKDELAY = interactConstants . DBLCLICKDELAY ;
64
+ var element = options . element ;
65
+
66
+ var startX ,
65
67
startY ,
66
68
newMouseDownTime ,
67
69
cursor ,
@@ -70,10 +72,10 @@ dragElement.init = function init(options) {
70
72
71
73
if ( ! gd . _mouseDownTime ) gd . _mouseDownTime = 0 ;
72
74
73
- options . element . style . pointerEvents = 'all' ;
75
+ element . style . pointerEvents = 'all' ;
74
76
75
- options . element . onmousedown = onStart ;
76
- options . element . ontouchstart = onStart ;
77
+ element . onmousedown = onStart ;
78
+ element . ontouchstart = onStart ;
77
79
78
80
function onStart ( e ) {
79
81
// make dragging and dragged into properties of gd
@@ -100,29 +102,28 @@ dragElement.init = function init(options) {
100
102
101
103
if ( hasHover ) {
102
104
dragCover = coverSlip ( ) ;
103
- dragCover . style . cursor = window . getComputedStyle ( options . element ) . cursor ;
105
+ dragCover . style . cursor = window . getComputedStyle ( element ) . cursor ;
104
106
}
105
107
else {
106
108
// document acts as a dragcover for mobile, bc we can't create dragcover dynamically
107
109
dragCover = document ;
108
110
cursor = window . getComputedStyle ( document . documentElement ) . cursor ;
109
- document . documentElement . style . cursor = window . getComputedStyle ( options . element ) . cursor ;
111
+ document . documentElement . style . cursor = window . getComputedStyle ( element ) . cursor ;
110
112
}
111
113
112
- dragCover . addEventListener ( 'mousemove' , onMove ) ;
113
- dragCover . addEventListener ( 'mouseup' , onDone ) ;
114
- dragCover . addEventListener ( 'mouseout' , onDone ) ;
115
- dragCover . addEventListener ( 'touchmove' , onMove ) ;
116
- dragCover . addEventListener ( 'touchend' , onDone ) ;
114
+ document . addEventListener ( 'mousemove' , onMove ) ;
115
+ document . addEventListener ( 'mouseup' , onDone ) ;
116
+ document . addEventListener ( 'touchmove' , onMove ) ;
117
+ document . addEventListener ( 'touchend' , onDone ) ;
117
118
118
119
return Lib . pauseEvent ( e ) ;
119
120
}
120
121
121
122
function onMove ( e ) {
122
- var offset = pointerOffset ( e ) ,
123
- dx = offset [ 0 ] - startX ,
124
- dy = offset [ 1 ] - startY ,
125
- minDrag = options . minDrag || constants . MINDRAG ;
123
+ var offset = pointerOffset ( e ) ;
124
+ var dx = offset [ 0 ] - startX ;
125
+ var dy = offset [ 1 ] - startY ;
126
+ var minDrag = options . minDrag || constants . MINDRAG ;
126
127
127
128
if ( Math . abs ( dx ) < minDrag ) dx = 0 ;
128
129
if ( Math . abs ( dy ) < minDrag ) dy = 0 ;
@@ -137,11 +138,10 @@ dragElement.init = function init(options) {
137
138
}
138
139
139
140
function onDone ( e ) {
140
- dragCover . removeEventListener ( 'mousemove' , onMove ) ;
141
- dragCover . removeEventListener ( 'mouseup' , onDone ) ;
142
- dragCover . removeEventListener ( 'mouseout' , onDone ) ;
143
- dragCover . removeEventListener ( 'touchmove' , onMove ) ;
144
- dragCover . removeEventListener ( 'touchend' , onDone ) ;
141
+ document . removeEventListener ( 'mousemove' , onMove ) ;
142
+ document . removeEventListener ( 'mouseup' , onDone ) ;
143
+ document . removeEventListener ( 'touchmove' , onMove ) ;
144
+ document . removeEventListener ( 'touchend' , onDone ) ;
145
145
146
146
if ( hasHover ) {
147
147
Lib . removeElement ( dragCover ) ;
0 commit comments