@@ -587,12 +587,12 @@ function isScrollBehaviorSmooth(el) {
587
587
* HELPERS
588
588
***********************************************/
589
589
590
- function addEvent ( type , fn ) {
591
- window . addEventListener ( type , fn , false ) ;
590
+ function addEvent ( type , fn , arg ) {
591
+ window . addEventListener ( type , fn , arg || false ) ;
592
592
}
593
593
594
- function removeEvent ( type , fn ) {
595
- window . removeEventListener ( type , fn , false ) ;
594
+ function removeEvent ( type , fn , arg ) {
595
+ window . removeEventListener ( type , fn , arg || false ) ;
596
596
}
597
597
598
598
function isNodeName ( el , tag ) {
@@ -743,14 +743,20 @@ var isIEWin7 = /Windows NT 6.1/i.test(userAgent) && /rv:11/i.test(userAgent);
743
743
var isOldSafari = isSafari && ( / V e r s i o n \/ 8 / i. test ( userAgent ) || / V e r s i o n \/ 9 / i. test ( userAgent ) ) ;
744
744
var isEnabledForBrowser = ( isChrome || isSafari || isIEWin7 ) && ! isMobile ;
745
745
746
- var wheelEvent ;
747
- if ( 'onwheel' in document . createElement ( 'div' ) )
748
- wheelEvent = 'wheel' ;
749
- else if ( 'onmousewheel' in document . createElement ( 'div' ) )
750
- wheelEvent = 'mousewheel' ;
746
+ var supportsPassive = false ;
747
+ try {
748
+ window . addEventListener ( "test" , null , Object . defineProperty ( { } , 'passive' , {
749
+ get : function ( ) {
750
+ supportsPassive = true ;
751
+ }
752
+ } ) ) ;
753
+ } catch ( e ) { }
754
+
755
+ var wheelOpt = supportsPassive ? { passive : false } : false ;
756
+ var wheelEvent = 'onwheel' in document . createElement ( 'div' ) ? 'wheel' : 'mousewheel' ;
751
757
752
758
if ( wheelEvent && isEnabledForBrowser ) {
753
- addEvent ( wheelEvent , wheel ) ;
759
+ addEvent ( wheelEvent , wheel , wheelOpt ) ;
754
760
addEvent ( 'mousedown' , mousedown ) ;
755
761
addEvent ( 'load' , init ) ;
756
762
}
0 commit comments