fix FF mouse wheel support

This commit is contained in:
Fabian Jakobs 2010-04-08 15:43:05 +02:00
commit 77f941515e
2 changed files with 13 additions and 3 deletions

View file

@ -108,7 +108,7 @@ function Editor(doc, renderer)
addListener(container, "mousedown", bind(this.onMouseDown, this));
addListener(container, "dblclick", bind(this.onMouseDoubleClick, this));
addListener(container, "mousewheel", bind(this.onMouseWheel, this));
addMouseWheelListener(container, bind(this.onMouseWheel, this));
addTripleClickListener(container, bind(this.selectCurrentLine, this));
this.doc = doc;
@ -231,8 +231,8 @@ function Editor(doc, renderer)
onMouseWheel : function(e)
{
var delta = e.wheelDeltaY;
this.renderer.scrollToY(this.renderer.getScrollTop() - (delta/10));
var delta = e.wheel;
this.renderer.scrollToY(this.renderer.getScrollTop() - (delta * 15));
return preventDefault(e);
},

10
lib.js
View file

@ -130,6 +130,16 @@ capture = function(el, eventHandler, releaseCaptureHandler)
document.addEventListener("mouseup", onMouseUp, true);
}
function addMouseWheelListener(el, callback)
{
var listener = function(e) {
e.wheel = (e.wheelDelta) ? e.wheelDelta / 120 : -(e.detail || 0) / 3;
callback(e);
}
addListener(el, "DOMMouseScroll", listener);
addListener(el, "mousewheel", listener);
};
function autoRemoveListener(el, type, callback, timeout)
{
var listener = function(e)