diff --git a/plugins/Sidebar/media-globe/all.js b/plugins/Sidebar/media-globe/all.js index 8b6e5b6b..cbf68e8c 100644 --- a/plugins/Sidebar/media-globe/all.js +++ b/plugins/Sidebar/media-globe/all.js @@ -241,7 +241,11 @@ DAT.Globe = function(container, opts) { container.addEventListener('mousedown', onMouseDown, false); - container.addEventListener('mousewheel', onMouseWheel, false); + if ('onwheel' in document) { + container.addEventListener('wheel', onMouseWheel, false); + } else { + container.addEventListener('mousewheel', onMouseWheel, false); + } document.addEventListener('keydown', onDocumentKeyDown, false); @@ -408,7 +412,11 @@ DAT.Globe = function(container, opts) { function onMouseWheel(event) { event.preventDefault(); if (overRenderer) { - zoom(event.wheelDeltaY * 0.3); + if (event.deltaY) { + zoom(-event.deltaY * (event.deltaMode == 0 ? 1 : 50)); + } else { + zoom(event.wheelDeltaY * 0.3); + } } return false; } @@ -464,6 +472,11 @@ DAT.Globe = function(container, opts) { running = false container.removeEventListener('mousedown', onMouseDown, false); container.removeEventListener('mousewheel', onMouseWheel, false); + if ('onwheel' in document) { + container.removeEventListener('wheel', onMouseWheel, false); + } else { + container.removeEventListener('mousewheel', onMouseWheel, false); + } document.removeEventListener('keydown', onDocumentKeyDown, false); window.removeEventListener('resize', onWindowResize, false); diff --git a/plugins/Sidebar/media-globe/globe.js b/plugins/Sidebar/media-globe/globe.js index a6ed358a..4f9abec8 100644 --- a/plugins/Sidebar/media-globe/globe.js +++ b/plugins/Sidebar/media-globe/globe.js @@ -152,7 +152,11 @@ DAT.Globe = function(container, opts) { container.addEventListener('mousedown', onMouseDown, false); - container.addEventListener('mousewheel', onMouseWheel, false); + if ('onwheel' in document) { + container.addEventListener('wheel', onMouseWheel, false); + } else { + container.addEventListener('mousewheel', onMouseWheel, false); + } document.addEventListener('keydown', onDocumentKeyDown, false); @@ -319,7 +323,11 @@ DAT.Globe = function(container, opts) { function onMouseWheel(event) { event.preventDefault(); if (overRenderer) { - zoom(event.wheelDeltaY * 0.3); + if (event.deltaY) { + zoom(-event.deltaY * (event.deltaMode == 0 ? 1 : 50)); + } else { + zoom(event.wheelDeltaY * 0.3); + } } return false; } @@ -374,7 +382,11 @@ DAT.Globe = function(container, opts) { function unload() { running = false container.removeEventListener('mousedown', onMouseDown, false); - container.removeEventListener('mousewheel', onMouseWheel, false); + if ('onwheel' in document) { + container.removeEventListener('wheel', onMouseWheel, false); + } else { + container.removeEventListener('mousewheel', onMouseWheel, false); + } document.removeEventListener('keydown', onDocumentKeyDown, false); window.removeEventListener('resize', onWindowResize, false);