| | 317 | |
| | 318 | // When scrolling with mouse wheel or trackpad inside the editor, don't scroll the parent window |
| | 319 | editor.dom.bind( doc, 'onwheel' in doc ? 'wheel' : 'mousewheel', function( event ) { |
| | 320 | var delta, docElement = doc.documentElement; |
| | 321 | |
| | 322 | if ( editor.settings.wp_fullscreen || 'ontouchstart' in window ) { |
| | 323 | return; |
| | 324 | } |
| | 325 | |
| | 326 | if ( typeof event.deltaY !== 'undefined' ) { |
| | 327 | delta = event.deltaY; |
| | 328 | |
| | 329 | if ( typeof event.deltaMode !== 'undefined' && event.deltaMode === event.DOM_DELTA_LINE ) { |
| | 330 | delta *= 20; |
| | 331 | } |
| | 332 | } else { |
| | 333 | delta = -event.wheelDelta; |
| | 334 | } |
| | 335 | |
| | 336 | // Reverse direction for MacOS |
| | 337 | if ( env.mac ) { |
| | 338 | delta *= -1; |
| | 339 | } |
| | 340 | |
| | 341 | event.preventDefault(); |
| | 342 | |
| | 343 | if ( ( docElement.scrollTop === 0 && delta < 0 ) || |
| | 344 | ( docElement.clientHeight + docElement.scrollTop === docElement.scrollHeight && delta > 0 ) ) { |
| | 345 | |
| | 346 | return; |
| | 347 | } |
| | 348 | |
| | 349 | if ( env.webkit ) { |
| | 350 | doc.body.scrollTop += delta; |
| | 351 | } else { |
| | 352 | docElement.scrollTop += delta; |
| | 353 | } |
| | 354 | }); |