@@ -224,6 +224,16 @@ module.exports = function(gd) {
224
224
} ) ;
225
225
} ;
226
226
227
+ function eventX ( event ) {
228
+ if ( typeof event . clientX === 'number' ) {
229
+ return event . clientX ;
230
+ }
231
+ if ( event . touches && event . touches . length > 0 ) {
232
+ return event . touches [ 0 ] . clientX ;
233
+ }
234
+ return 0 ;
235
+ }
236
+
227
237
function setupDragElement ( rangeSlider , gd , axisOpts , opts ) {
228
238
if ( gd . _context . staticPlot ) return ;
229
239
@@ -234,7 +244,7 @@ function setupDragElement(rangeSlider, gd, axisOpts, opts) {
234
244
function mouseDownHandler ( ) {
235
245
var event = d3 . event ;
236
246
var target = event . target ;
237
- var startX = event . clientX || event . touches [ 0 ] . clientX ;
247
+ var startX = eventX ( event ) ;
238
248
var offsetX = startX - rangeSlider . node ( ) . getBoundingClientRect ( ) . left ;
239
249
var minVal = opts . d2p ( axisOpts . _rl [ 0 ] ) ;
240
250
var maxVal = opts . d2p ( axisOpts . _rl [ 1 ] ) ;
@@ -247,7 +257,7 @@ function setupDragElement(rangeSlider, gd, axisOpts, opts) {
247
257
dragCover . addEventListener ( 'mouseup' , mouseUp ) ;
248
258
249
259
function mouseMove ( e ) {
250
- var clientX = e . clientX || e . touches [ 0 ] . clientX ;
260
+ var clientX = eventX ( e ) ;
251
261
var delta = + clientX - startX ;
252
262
var pixelMin , pixelMax , cursor ;
253
263
0 commit comments