|
154 | 154 | }); |
155 | 155 | } |
156 | 156 |
|
| 157 | + $(document).delegate("*", "mousemove", function (e) { |
| 158 | + $(document).data("select2-lastpos", {x: e.pageX, y: e.pageY}); |
| 159 | + }); |
| 160 | + |
157 | 161 | /** |
158 | 162 | * filters mouse events so an event is fired only if the mouse moved. |
159 | 163 | * |
160 | 164 | * filters out mouse events that occur when mouse is stationary but |
161 | 165 | * the elements under the pointer are scrolled. |
162 | 166 | */ |
163 | 167 | function installFilteredMouseMove(element) { |
164 | | - var context = $(element[0].document); |
165 | | - context.on("mousemove", function (e) { |
166 | | - context.data("select2-lastpos", {x: e.pageX, y: e.pageY}); |
167 | | - }); |
168 | | - element.bind("mousemove", function (e) { |
169 | | - var lastpos = context.data("select2-lastpos"); |
| 168 | + element.bind("mousemove", function (e) { |
| 169 | + var lastpos = $(document).data("select2-lastpos"); |
170 | 170 | if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) { |
171 | 171 | $(e.target).trigger("mousemove-filtered", e); |
172 | 172 | } |
|
422 | 422 | // initialize the container |
423 | 423 | this.initContainer(); |
424 | 424 |
|
425 | | - //installFilteredMouseMove(this.results); |
426 | | - this.dropdown.delegate(resultsSelector, "mouseover", this.bind(this.highlightUnderEvent)); |
| 425 | + installFilteredMouseMove(this.results); |
| 426 | + this.dropdown.delegate(resultsSelector, "mousemove-filtered", this.bind(this.highlightUnderEvent)); |
427 | 427 |
|
428 | 428 | installDebouncedScroll(80, this.results); |
429 | 429 | this.dropdown.delegate(resultsSelector, "scroll-debounced", this.bind(this.loadMoreIfNeeded)); |
|
0 commit comments