| 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 | }); |