diff --git a/src/dom/DomEvent.js b/src/dom/DomEvent.js index 69f4c6c0..dff9e5b8 100644 --- a/src/dom/DomEvent.js +++ b/src/dom/DomEvent.js @@ -24,15 +24,17 @@ var DomEvent = /** @lends DomEvent */{ var func = events[type], parts = type.split(/[\s,]+/g); for (var i = 0, l = parts.length; i < l; i++) { - var eventName = parts[i]; - // For touchstart/touchmove events on document, we need to explicitely - // declare that event is not passive (can be prevented). - // Otherwise chrome browser would ignore event.preventDefault() calls. - // See #1501 and https://www.chromestatus.com/features/5093566007214080 - var options = el === document && (eventName === 'touchstart'|| eventName === 'touchmove') - ? {passive: false} - : false; - el.addEventListener(eventName, func, options); + var name = parts[i]; + // For touchstart/touchmove events on document, we need to + // explicitely declare that event is not passive (can be + // prevented). Otherwise chrome browser would ignore + // event.preventDefault() calls. See #1501 and + // https://www.chromestatus.com/features/5093566007214080 + var options = ( + el === document + && (name === 'touchstart' || name === 'touchmove') + ) ? { passive: false } : false; + el.addEventListener(name, func, options); } } } diff --git a/src/view/View.js b/src/view/View.js index 71368ee6..e7edb3eb 100644 --- a/src/view/View.js +++ b/src/view/View.js @@ -1441,11 +1441,15 @@ new function() { // Injection scope for event handling on the browser // - If this is a unhandled mousedown event, but the view or tools // respond to mouseup. // - // Some events are not cancelable anyway (like during a scroll inertia - // on mobile) so trying to prevent default in those case would result - // in no effect and an error. - if (event.cancelable !== false && (called && !mouse.move || mouse.down && responds('mouseup'))) + // Some events are not cancelable anyway (like during a scroll + // inertia on mobile) so trying to prevent default in those case + // would result in no effect and an error. + if ( + event.cancelable !== false + && (called && !mouse.move || mouse.down && responds('mouseup')) + ) { event.preventDefault(); + } }, /**