From b825d8ec41c46f650395179135518d0e8ef0246f Mon Sep 17 00:00:00 2001 From: Igor Vaynberg Date: Sun, 17 Jun 2012 00:45:44 -0700 Subject: [PATCH] restore smooth scrolling by fixing mouseevent-filtered --- select2.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/select2.js b/select2.js index e41995e9..127a7012 100755 --- a/select2.js +++ b/select2.js @@ -154,6 +154,10 @@ }); } + $(document).delegate("*", "mousemove", function (e) { + $(document).data("select2-lastpos", {x: e.pageX, y: e.pageY}); + }); + /** * filters mouse events so an event is fired only if the mouse moved. * @@ -161,12 +165,8 @@ * the elements under the pointer are scrolled. */ function installFilteredMouseMove(element) { - var context = $(element[0].document); - context.on("mousemove", function (e) { - context.data("select2-lastpos", {x: e.pageX, y: e.pageY}); - }); - element.bind("mousemove", function (e) { - var lastpos = context.data("select2-lastpos"); + element.bind("mousemove", function (e) { + var lastpos = $(document).data("select2-lastpos"); if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) { $(e.target).trigger("mousemove-filtered", e); } @@ -422,8 +422,8 @@ // initialize the container this.initContainer(); - //installFilteredMouseMove(this.results); - this.dropdown.delegate(resultsSelector, "mouseover", this.bind(this.highlightUnderEvent)); + installFilteredMouseMove(this.results); + this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent)); installDebouncedScroll(80, this.results); this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded));