[Pkg-javascript-commits] [node-iscroll] 03/07: Imported Upstream version 5.1.2+dfsg1
Balint Reczey
rbalint at moszumanska.debian.org
Sun Aug 24 19:42:21 UTC 2014
This is an automated email from the git hooks/post-receive script.
rbalint pushed a commit to branch master
in repository node-iscroll.
commit 3002ac113a1c24e46864c58e07f0abd119b8083a
Author: Balint Reczey <balint at balintreczey.hu>
Date: Sun Aug 24 19:23:15 2014 +0200
Imported Upstream version 5.1.2+dfsg1
---
README.md | 4 ++--
build.js | 7 +++++++
build/iscroll-infinite.js | 28 +++++++++++++++++++++-------
build/iscroll-lite.js | 28 +++++++++++++++++++++-------
build/iscroll-probe.js | 46 ++++++++++++++++++++++++++++++++--------------
build/iscroll-zoom.js | 46 ++++++++++++++++++++++++++++++++--------------
build/iscroll.js | 46 ++++++++++++++++++++++++++++++++--------------
package.json | 6 +++---
src/core.js | 8 ++++----
src/default/handleEvent.js | 4 ++++
src/indicator/indicator.js | 18 +++++++++++-------
src/utils.js | 12 +++++++++++-
src/zoom/handleEvent.js | 4 ++++
13 files changed, 184 insertions(+), 73 deletions(-)
diff --git a/README.md b/README.md
index 7384b52..b96f318 100644
--- a/README.md
+++ b/README.md
@@ -73,7 +73,7 @@ Note that iScroll uses `querySelector` not `querySelectorAll`, so only the first
<div class="tip">
<p>You don't strictly need to assign the instance to a variable (<code>myScroll</code>), but it is handy to keep a reference to the iScroll.</p>
-For example you could later check the <a href="#scroller-info">scroller position</a> or <a href="#destroy">unload unnecessary events</a> when you don't need the iScroll anymore.</p>
+<p>For example you could later check the <a href="#scroller-info">scroller position</a> or <a href="#destroy">unload unnecessary events</a> when you don't need the iScroll anymore.</p>
</div>
<h2 id="initialization">Initialization</h2>
@@ -126,7 +126,7 @@ The example above turns on mouse wheel support and scrollbars.
After initialization you can access the *normalized* values from the `options` object. Eg:
- console.log(myScroll.options);
+ console.dir(myScroll.options);
The above will return the configuration the `myScroll` instance will run on. By *normalized* I mean that if you set `useTransform:true` (for example) but the browser doesn't support CSS transforms, `useTransform` will be `false`.
diff --git a/build.js b/build.js
index 5ae5f21..10e539b 100755
--- a/build.js
+++ b/build.js
@@ -151,5 +151,12 @@ function build (release) {
// Write dist file
var distFile = buildFile.replace('/build/', '/dist/').replace('.js', '-min.js');
out = uglify.minify(out, { fromString: true });
+
+ // Make sure dist folder exists
+ if ( !fs.existsSync('dist') ) {
+ fs.mkdirSync('dist');
+ }
+
+ // Write files to target
fs.writeFileSync(distFile, banner + out.code);
}
diff --git a/build/iscroll-infinite.js b/build/iscroll-infinite.js
index f524f40..0c22c7e 100644
--- a/build/iscroll-infinite.js
+++ b/build/iscroll-infinite.js
@@ -1,4 +1,4 @@
-/*! iScroll v5.1.1 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
+/*! iScroll v5.1.2 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
(function (window, document, Math) {
var rAF = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
@@ -47,6 +47,12 @@ var utils = (function () {
el.removeEventListener(type, fn, !!capture);
};
+ me.prefixPointerEvent = function (pointerEvent) {
+ return window.MSPointerEvent ?
+ 'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+ pointerEvent;
+ };
+
me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
var distance = current - start,
speed = Math.abs(distance) / time,
@@ -80,7 +86,7 @@ var utils = (function () {
hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window,
- hasPointer: navigator.msPointerEnabled,
+ hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
hasTransition: _prefixStyle('transition') in _elementStyle
});
@@ -155,6 +161,10 @@ var utils = (function () {
mousemove: 2,
mouseup: 2,
+ pointerdown: 3,
+ pointermove: 3,
+ pointerup: 3,
+
MSPointerDown: 3,
MSPointerMove: 3,
MSPointerUp: 3
@@ -327,7 +337,7 @@ function IScroll (el, options) {
}
IScroll.prototype = {
- version: '5.1.1',
+ version: '5.1.2',
_init: function () {
this._initEvents();
@@ -860,10 +870,10 @@ IScroll.prototype = {
}
if ( utils.hasPointer && !this.options.disablePointer ) {
- eventType(this.wrapper, 'MSPointerDown', this);
- eventType(target, 'MSPointerMove', this);
- eventType(target, 'MSPointerCancel', this);
- eventType(target, 'MSPointerUp', this);
+ eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+ eventType(target, utils.prefixPointerEvent('pointermove'), this);
+ eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+ eventType(target, utils.prefixPointerEvent('pointerup'), this);
}
if ( utils.hasTouch && !this.options.disableTouch ) {
@@ -1510,19 +1520,23 @@ IScroll.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
diff --git a/build/iscroll-lite.js b/build/iscroll-lite.js
index 5a0ab35..749cc01 100644
--- a/build/iscroll-lite.js
+++ b/build/iscroll-lite.js
@@ -1,4 +1,4 @@
-/*! iScroll v5.1.1 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
+/*! iScroll v5.1.2 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
(function (window, document, Math) {
var rAF = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
@@ -47,6 +47,12 @@ var utils = (function () {
el.removeEventListener(type, fn, !!capture);
};
+ me.prefixPointerEvent = function (pointerEvent) {
+ return window.MSPointerEvent ?
+ 'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+ pointerEvent;
+ };
+
me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
var distance = current - start,
speed = Math.abs(distance) / time,
@@ -80,7 +86,7 @@ var utils = (function () {
hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window,
- hasPointer: navigator.msPointerEnabled,
+ hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
hasTransition: _prefixStyle('transition') in _elementStyle
});
@@ -155,6 +161,10 @@ var utils = (function () {
mousemove: 2,
mouseup: 2,
+ pointerdown: 3,
+ pointermove: 3,
+ pointerup: 3,
+
MSPointerDown: 3,
MSPointerMove: 3,
MSPointerUp: 3
@@ -310,7 +320,7 @@ function IScroll (el, options) {
}
IScroll.prototype = {
- version: '5.1.1',
+ version: '5.1.2',
_init: function () {
this._initEvents();
@@ -800,10 +810,10 @@ IScroll.prototype = {
}
if ( utils.hasPointer && !this.options.disablePointer ) {
- eventType(this.wrapper, 'MSPointerDown', this);
- eventType(target, 'MSPointerMove', this);
- eventType(target, 'MSPointerCancel', this);
- eventType(target, 'MSPointerUp', this);
+ eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+ eventType(target, utils.prefixPointerEvent('pointermove'), this);
+ eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+ eventType(target, utils.prefixPointerEvent('pointerup'), this);
}
if ( utils.hasTouch && !this.options.disableTouch ) {
@@ -875,19 +885,23 @@ IScroll.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
diff --git a/build/iscroll-probe.js b/build/iscroll-probe.js
index 9a145f0..76456c4 100644
--- a/build/iscroll-probe.js
+++ b/build/iscroll-probe.js
@@ -1,4 +1,4 @@
-/*! iScroll v5.1.1 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
+/*! iScroll v5.1.2 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
(function (window, document, Math) {
var rAF = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
@@ -47,6 +47,12 @@ var utils = (function () {
el.removeEventListener(type, fn, !!capture);
};
+ me.prefixPointerEvent = function (pointerEvent) {
+ return window.MSPointerEvent ?
+ 'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+ pointerEvent;
+ };
+
me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
var distance = current - start,
speed = Math.abs(distance) / time,
@@ -80,7 +86,7 @@ var utils = (function () {
hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window,
- hasPointer: navigator.msPointerEnabled,
+ hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
hasTransition: _prefixStyle('transition') in _elementStyle
});
@@ -155,6 +161,10 @@ var utils = (function () {
mousemove: 2,
mouseup: 2,
+ pointerdown: 3,
+ pointermove: 3,
+ pointerup: 3,
+
MSPointerDown: 3,
MSPointerMove: 3,
MSPointerUp: 3
@@ -325,7 +335,7 @@ function IScroll (el, options) {
}
IScroll.prototype = {
- version: '5.1.1',
+ version: '5.1.2',
_init: function () {
this._initEvents();
@@ -878,10 +888,10 @@ IScroll.prototype = {
}
if ( utils.hasPointer && !this.options.disablePointer ) {
- eventType(this.wrapper, 'MSPointerDown', this);
- eventType(target, 'MSPointerMove', this);
- eventType(target, 'MSPointerCancel', this);
- eventType(target, 'MSPointerUp', this);
+ eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+ eventType(target, utils.prefixPointerEvent('pointermove'), this);
+ eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+ eventType(target, utils.prefixPointerEvent('pointerup'), this);
}
if ( utils.hasTouch && !this.options.disableTouch ) {
@@ -1534,19 +1544,23 @@ IScroll.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
@@ -1648,8 +1662,8 @@ function Indicator (scroller, options) {
utils.addEvent(window, 'touchend', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(this.indicator, 'MSPointerDown', this);
- utils.addEvent(window, 'MSPointerUp', this);
+ utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(this.indicator, 'mousedown', this);
@@ -1668,19 +1682,23 @@ Indicator.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
@@ -1691,15 +1709,15 @@ Indicator.prototype = {
destroy: function () {
if ( this.options.interactive ) {
utils.removeEvent(this.indicator, 'touchstart', this);
- utils.removeEvent(this.indicator, 'MSPointerDown', this);
+ utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
utils.removeEvent(this.indicator, 'mousedown', this);
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
utils.removeEvent(window, 'touchend', this);
- utils.removeEvent(window, 'MSPointerUp', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this);
utils.removeEvent(window, 'mouseup', this);
}
@@ -1727,7 +1745,7 @@ Indicator.prototype = {
utils.addEvent(window, 'touchmove', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(window, 'MSPointerMove', this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(window, 'mousemove', this);
@@ -1785,7 +1803,7 @@ Indicator.prototype = {
e.stopPropagation();
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
if ( this.scroller.options.snap ) {
diff --git a/build/iscroll-zoom.js b/build/iscroll-zoom.js
index 4a44055..bd803c6 100644
--- a/build/iscroll-zoom.js
+++ b/build/iscroll-zoom.js
@@ -1,4 +1,4 @@
-/*! iScroll v5.1.1 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
+/*! iScroll v5.1.2 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
(function (window, document, Math) {
var rAF = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
@@ -47,6 +47,12 @@ var utils = (function () {
el.removeEventListener(type, fn, !!capture);
};
+ me.prefixPointerEvent = function (pointerEvent) {
+ return window.MSPointerEvent ?
+ 'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+ pointerEvent;
+ };
+
me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
var distance = current - start,
speed = Math.abs(distance) / time,
@@ -80,7 +86,7 @@ var utils = (function () {
hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window,
- hasPointer: navigator.msPointerEnabled,
+ hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
hasTransition: _prefixStyle('transition') in _elementStyle
});
@@ -155,6 +161,10 @@ var utils = (function () {
mousemove: 2,
mouseup: 2,
+ pointerdown: 3,
+ pointermove: 3,
+ pointerup: 3,
+
MSPointerDown: 3,
MSPointerMove: 3,
MSPointerUp: 3
@@ -327,7 +337,7 @@ function IScroll (el, options) {
}
IScroll.prototype = {
- version: '5.1.1',
+ version: '5.1.2',
_init: function () {
this._initEvents();
@@ -872,10 +882,10 @@ IScroll.prototype = {
}
if ( utils.hasPointer && !this.options.disablePointer ) {
- eventType(this.wrapper, 'MSPointerDown', this);
- eventType(target, 'MSPointerMove', this);
- eventType(target, 'MSPointerCancel', this);
- eventType(target, 'MSPointerUp', this);
+ eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+ eventType(target, utils.prefixPointerEvent('pointermove'), this);
+ eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+ eventType(target, utils.prefixPointerEvent('pointerup'), this);
}
if ( utils.hasTouch && !this.options.disableTouch ) {
@@ -1689,6 +1699,7 @@ IScroll.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
@@ -1698,6 +1709,7 @@ IScroll.prototype = {
}
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
if ( this.options.zoom && e.touches && e.touches[1] ) {
@@ -1707,9 +1719,11 @@ IScroll.prototype = {
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
if ( this.scaled ) {
@@ -1814,8 +1828,8 @@ function Indicator (scroller, options) {
utils.addEvent(window, 'touchend', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(this.indicator, 'MSPointerDown', this);
- utils.addEvent(window, 'MSPointerUp', this);
+ utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(this.indicator, 'mousedown', this);
@@ -1834,19 +1848,23 @@ Indicator.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
@@ -1857,15 +1875,15 @@ Indicator.prototype = {
destroy: function () {
if ( this.options.interactive ) {
utils.removeEvent(this.indicator, 'touchstart', this);
- utils.removeEvent(this.indicator, 'MSPointerDown', this);
+ utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
utils.removeEvent(this.indicator, 'mousedown', this);
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
utils.removeEvent(window, 'touchend', this);
- utils.removeEvent(window, 'MSPointerUp', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this);
utils.removeEvent(window, 'mouseup', this);
}
@@ -1893,7 +1911,7 @@ Indicator.prototype = {
utils.addEvent(window, 'touchmove', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(window, 'MSPointerMove', this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(window, 'mousemove', this);
@@ -1942,7 +1960,7 @@ Indicator.prototype = {
e.stopPropagation();
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
if ( this.scroller.options.snap ) {
diff --git a/build/iscroll.js b/build/iscroll.js
index 6ccf0e2..32b1ad5 100644
--- a/build/iscroll.js
+++ b/build/iscroll.js
@@ -1,4 +1,4 @@
-/*! iScroll v5.1.1 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
+/*! iScroll v5.1.2 ~ (c) 2008-2014 Matteo Spinelli ~ http://cubiq.org/license */
(function (window, document, Math) {
var rAF = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
@@ -47,6 +47,12 @@ var utils = (function () {
el.removeEventListener(type, fn, !!capture);
};
+ me.prefixPointerEvent = function (pointerEvent) {
+ return window.MSPointerEvent ?
+ 'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+ pointerEvent;
+ };
+
me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
var distance = current - start,
speed = Math.abs(distance) / time,
@@ -80,7 +86,7 @@ var utils = (function () {
hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window,
- hasPointer: navigator.msPointerEnabled,
+ hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
hasTransition: _prefixStyle('transition') in _elementStyle
});
@@ -155,6 +161,10 @@ var utils = (function () {
mousemove: 2,
mouseup: 2,
+ pointerdown: 3,
+ pointermove: 3,
+ pointerup: 3,
+
MSPointerDown: 3,
MSPointerMove: 3,
MSPointerUp: 3
@@ -322,7 +332,7 @@ function IScroll (el, options) {
}
IScroll.prototype = {
- version: '5.1.1',
+ version: '5.1.2',
_init: function () {
this._initEvents();
@@ -869,10 +879,10 @@ IScroll.prototype = {
}
if ( utils.hasPointer && !this.options.disablePointer ) {
- eventType(this.wrapper, 'MSPointerDown', this);
- eventType(target, 'MSPointerMove', this);
- eventType(target, 'MSPointerCancel', this);
- eventType(target, 'MSPointerUp', this);
+ eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+ eventType(target, utils.prefixPointerEvent('pointermove'), this);
+ eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+ eventType(target, utils.prefixPointerEvent('pointerup'), this);
}
if ( utils.hasTouch && !this.options.disableTouch ) {
@@ -1516,19 +1526,23 @@ IScroll.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
@@ -1630,8 +1644,8 @@ function Indicator (scroller, options) {
utils.addEvent(window, 'touchend', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(this.indicator, 'MSPointerDown', this);
- utils.addEvent(window, 'MSPointerUp', this);
+ utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(this.indicator, 'mousedown', this);
@@ -1650,19 +1664,23 @@ Indicator.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
@@ -1673,15 +1691,15 @@ Indicator.prototype = {
destroy: function () {
if ( this.options.interactive ) {
utils.removeEvent(this.indicator, 'touchstart', this);
- utils.removeEvent(this.indicator, 'MSPointerDown', this);
+ utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
utils.removeEvent(this.indicator, 'mousedown', this);
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
utils.removeEvent(window, 'touchend', this);
- utils.removeEvent(window, 'MSPointerUp', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this);
utils.removeEvent(window, 'mouseup', this);
}
@@ -1709,7 +1727,7 @@ Indicator.prototype = {
utils.addEvent(window, 'touchmove', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(window, 'MSPointerMove', this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(window, 'mousemove', this);
@@ -1758,7 +1776,7 @@ Indicator.prototype = {
e.stopPropagation();
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
if ( this.scroller.options.snap ) {
diff --git a/package.json b/package.json
index 32d26a3..f74fa11 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "iscroll",
"description": "Smooth scrolling for the web",
- "version": "5.1.1",
+ "version": "5.1.2",
"homepage": "http://cubiq.org/iscroll-4",
"author": "Matteo Spinelli <matteo at cubiq.org> (http://cubiq.org)",
"keywords": [
@@ -15,8 +15,8 @@
],
"main": "build/iscroll.js",
"devDependencies": {
- "jshint": "~2.3.0",
- "uglify-js": "~2.4.7"
+ "jshint": "~2.5.1",
+ "uglify-js": "~2.4.13"
},
"repository": {
"type": "git",
diff --git a/src/core.js b/src/core.js
index 9068af0..dcfab62 100644
--- a/src/core.js
+++ b/src/core.js
@@ -564,10 +564,10 @@ IScroll.prototype = {
}
if ( utils.hasPointer && !this.options.disablePointer ) {
- eventType(this.wrapper, 'MSPointerDown', this);
- eventType(target, 'MSPointerMove', this);
- eventType(target, 'MSPointerCancel', this);
- eventType(target, 'MSPointerUp', this);
+ eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this);
+ eventType(target, utils.prefixPointerEvent('pointermove'), this);
+ eventType(target, utils.prefixPointerEvent('pointercancel'), this);
+ eventType(target, utils.prefixPointerEvent('pointerup'), this);
}
if ( utils.hasTouch && !this.options.disableTouch ) {
diff --git a/src/default/handleEvent.js b/src/default/handleEvent.js
index 046d0ce..864ede1 100644
--- a/src/default/handleEvent.js
+++ b/src/default/handleEvent.js
@@ -2,19 +2,23 @@
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
diff --git a/src/indicator/indicator.js b/src/indicator/indicator.js
index 699e373..8c6eb77 100644
--- a/src/indicator/indicator.js
+++ b/src/indicator/indicator.js
@@ -69,8 +69,8 @@ function Indicator (scroller, options) {
utils.addEvent(window, 'touchend', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(this.indicator, 'MSPointerDown', this);
- utils.addEvent(window, 'MSPointerUp', this);
+ utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(this.indicator, 'mousedown', this);
@@ -89,19 +89,23 @@ Indicator.prototype = {
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
this._end(e);
@@ -112,15 +116,15 @@ Indicator.prototype = {
destroy: function () {
if ( this.options.interactive ) {
utils.removeEvent(this.indicator, 'touchstart', this);
- utils.removeEvent(this.indicator, 'MSPointerDown', this);
+ utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this);
utils.removeEvent(this.indicator, 'mousedown', this);
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
utils.removeEvent(window, 'touchend', this);
- utils.removeEvent(window, 'MSPointerUp', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this);
utils.removeEvent(window, 'mouseup', this);
}
@@ -148,7 +152,7 @@ Indicator.prototype = {
utils.addEvent(window, 'touchmove', this);
}
if ( !this.options.disablePointer ) {
- utils.addEvent(window, 'MSPointerMove', this);
+ utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this);
}
if ( !this.options.disableMouse ) {
utils.addEvent(window, 'mousemove', this);
@@ -197,7 +201,7 @@ Indicator.prototype = {
e.stopPropagation();
utils.removeEvent(window, 'touchmove', this);
- utils.removeEvent(window, 'MSPointerMove', this);
+ utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this);
utils.removeEvent(window, 'mousemove', this);
if ( this.scroller.options.snap ) {
diff --git a/src/utils.js b/src/utils.js
index b51b1e2..135da5a 100644
--- a/src/utils.js
+++ b/src/utils.js
@@ -45,6 +45,12 @@ var utils = (function () {
el.removeEventListener(type, fn, !!capture);
};
+ me.prefixPointerEvent = function (pointerEvent) {
+ return window.MSPointerEvent ?
+ 'MSPointer' + pointerEvent.charAt(9).toUpperCase() + pointerEvent.substr(10):
+ pointerEvent;
+ };
+
me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) {
var distance = current - start,
speed = Math.abs(distance) / time,
@@ -78,7 +84,7 @@ var utils = (function () {
hasTransform: _transform !== false,
hasPerspective: _prefixStyle('perspective') in _elementStyle,
hasTouch: 'ontouchstart' in window,
- hasPointer: navigator.msPointerEnabled,
+ hasPointer: window.PointerEvent || window.MSPointerEvent, // IE10 is prefixed
hasTransition: _prefixStyle('transition') in _elementStyle
});
@@ -153,6 +159,10 @@ var utils = (function () {
mousemove: 2,
mouseup: 2,
+ pointerdown: 3,
+ pointermove: 3,
+ pointerup: 3,
+
MSPointerDown: 3,
MSPointerMove: 3,
MSPointerUp: 3
diff --git a/src/zoom/handleEvent.js b/src/zoom/handleEvent.js
index cf26efa..77aa295 100644
--- a/src/zoom/handleEvent.js
+++ b/src/zoom/handleEvent.js
@@ -2,6 +2,7 @@
handleEvent: function (e) {
switch ( e.type ) {
case 'touchstart':
+ case 'pointerdown':
case 'MSPointerDown':
case 'mousedown':
this._start(e);
@@ -11,6 +12,7 @@
}
break;
case 'touchmove':
+ case 'pointermove':
case 'MSPointerMove':
case 'mousemove':
if ( this.options.zoom && e.touches && e.touches[1] ) {
@@ -20,9 +22,11 @@
this._move(e);
break;
case 'touchend':
+ case 'pointerup':
case 'MSPointerUp':
case 'mouseup':
case 'touchcancel':
+ case 'pointercancel':
case 'MSPointerCancel':
case 'mousecancel':
if ( this.scaled ) {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/node-iscroll.git
More information about the Pkg-javascript-commits
mailing list