diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-10-15 11:05:08 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-10-15 11:05:08 -0400 |
| commit | 72ea86e603793ac17a9113ab031d31b369f74a4f (patch) | |
| tree | dd69786d1d3ee5f62c107706d8186336fb9edc24 /public/assets/javascripts/rectangles/util/wheel.js | |
| parent | 32f5f24b8b09998a03c88f786507ba4d58397fc7 (diff) | |
| parent | f0c06d7e9fb004e840821b502a6c46214f6757fd (diff) | |
merge
Diffstat (limited to 'public/assets/javascripts/rectangles/util/wheel.js')
| -rw-r--r-- | public/assets/javascripts/rectangles/util/wheel.js | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/public/assets/javascripts/rectangles/util/wheel.js b/public/assets/javascripts/rectangles/util/wheel.js index 6836772..712d470 100644 --- a/public/assets/javascripts/rectangles/util/wheel.js +++ b/public/assets/javascripts/rectangles/util/wheel.js @@ -21,37 +21,44 @@ function wheel (opt) { val: 0, }) - opt.el.addEventListener('mousewheel', onMouseWheel, false); + opt.el.addEventListener('wheel', onMouseWheel, false); +// opt.el.addEventListener('mousewheel', onMouseWheel, false); opt.el.addEventListener('DOMMouseScroll', onMouseWheel, false); function onMouseWheel (e) { if (opt.locked) { return } + if (! opt.propagate) { e.stopPropagation() e.preventDefault() } - var delta = 0; + var deltaX = 0, deltaY = 0; // WebKit - if ( event.wheelDeltaY ) { - delta -= event.wheelDeltaY * opt.ratio + if ( event.deltaY ) { + deltaY -= event.deltaY * opt.ratio + deltaX -= event.deltaX * opt.ratio + } + else if ( event.wheelDeltaY ) { + deltaY -= event.wheelDeltaY * opt.ratio + deltaX -= event.wheelDeltaX * opt.ratio } // Opera / Explorer 9 else if ( event.wheelDelta ) { - delta -= event.wheelDelta * opt.ratio + deltaY -= event.wheelDelta * opt.ratio } // Firefox else if ( event.detail ) { - delta += event.detail * 2 + deltaY += event.detail * 2 } - if (! opt.reversible && delta < 0) return; + if (! opt.reversible && (deltaY < 0 && deltaX < 0)) return; - opt.val = clamp(opt.val + delta, opt.min, opt.max) + // opt.val = clamp(opt.val + delta, opt.min, opt.max) - opt.update(e, opt.val, delta) + opt.update(e, deltaY, deltaX) } opt.lock = function(){ opt.locked = true } |
