summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/rectangles/util/wheel.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/rectangles/util/wheel.js')
-rw-r--r--public/assets/javascripts/rectangles/util/wheel.js19
1 files changed, 11 insertions, 8 deletions
diff --git a/public/assets/javascripts/rectangles/util/wheel.js b/public/assets/javascripts/rectangles/util/wheel.js
index 6836772..64aaa64 100644
--- a/public/assets/javascripts/rectangles/util/wheel.js
+++ b/public/assets/javascripts/rectangles/util/wheel.js
@@ -21,37 +21,40 @@ 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
+ 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 }