File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 154154 } ) ;
155155 }
156156
157- /**
157+ /**
158+ * filters mouse events so an event is fired only if the mouse moved.
159+ *
160+ * filters out mouse events that occur when mouse is stationary but
161+ * the elements under the pointer are scrolled.
162+ */
163+ 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" ) ;
170+ if ( lastpos === undefined || lastpos . x !== e . pageX || lastpos . y !== e . pageY ) {
171+ $ ( e . target ) . trigger ( "mousemove-filtered" , e ) ;
172+ }
173+ } ) ;
174+ }
175+
176+ /**
158177 * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made
159178 * within the last quietMillis milliseconds.
160179 *
403422 // initialize the container
404423 this . initContainer ( ) ;
405424
425+ //installFilteredMouseMove(this.results);
406426 this . dropdown . delegate ( resultsSelector , "mouseover" , this . bind ( this . highlightUnderEvent ) ) ;
407427
408428 installDebouncedScroll ( 80 , this . results ) ;
You can’t perform that action at this time.
0 commit comments