diff --git a/themes/bootstrap3/js/zoomy/canvas-zoomy.js b/themes/bootstrap3/js/zoomy/canvas-zoomy.js index 047e2970b9f399fade1b7984ee312aca3687c972..158b96f885f3353b64d660283069e76c5b3ff38b 100644 --- a/themes/bootstrap3/js/zoomy/canvas-zoomy.js +++ b/themes/bootstrap3/js/zoomy/canvas-zoomy.js @@ -13,6 +13,10 @@ var Zoomy = { this.canvas.addEventListener('mousedown', function(e) { Zoomy.mouseDown = true; }, false); + this.canvas.addEventListener('mousewheel', function(e) { + e.preventDefault(); + Zoomy.zoom(e); + }, false); this.canvas.addEventListener('wheel', function(e) { e.preventDefault(); Zoomy.zoom(e); @@ -135,7 +139,9 @@ var Zoomy = { }, zoom: function(event, zoom) { if (typeof zoom === "undefined") { - var delta = event.deltaY/Math.abs(event.deltaY); + var delta = typeof event.deltaY === "undefined" + ? event.detail/Math.abs(event.detail) + : event.deltaY/Math.abs(event.deltaY); this.image.zoom *= 1-(delta/12); } else { this.image.zoom = zoom; @@ -146,7 +152,10 @@ var Zoomy = { var mousex = this.width/2; var mousey = this.height/2; - if (typeof event.layerX !== "undefined") { + if (typeof event.offsetX !== "undefined") { + mousex = event.offsetX; + mousey = event.offsetY; + } else if (typeof event.layerX !== "undefined") { mousex = event.layerX; mousey = event.layerY; }