parentDiv = iframe.getParent(),\r
dir = parentDiv.getAttribute( 'dir' ),\r
className = parentDiv.getParent().getAttribute( 'class' ),\r
parentDiv = iframe.getParent(),\r
dir = parentDiv.getAttribute( 'dir' ),\r
className = parentDiv.getParent().getAttribute( 'class' ),\r
- doc.on( 'keydown', function( evt )\r
+ // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534).\r
+ doc.on( 'key' + ( CKEDITOR.env.opera? 'press':'down' ), function( evt )\r
\r
// Delegate key processing to block.\r
if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false )\r
\r
// Delegate key processing to block.\r
if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false )\r
if ( keystroke == 27 || keystroke == ( dir == 'rtl' ? 39 : 37 ) )\r
{\r
if ( this.onEscape && this.onEscape( keystroke ) === false )\r
if ( keystroke == 27 || keystroke == ( dir == 'rtl' ? 39 : 37 ) )\r
{\r
if ( this.onEscape && this.onEscape( keystroke ) === false )\r
block = blocks[ name ],\r
current = this._.currentBlock,\r
holder = this.forceIFrame ?\r
block = blocks[ name ],\r
current = this._.currentBlock,\r
holder = this.forceIFrame ?\r
\r
// Safari need focus on the iframe window first(#3389), but we need\r
// lock the blur to avoid hiding the panel.\r
\r
// Safari need focus on the iframe window first(#3389), but we need\r
// lock the blur to avoid hiding the panel.\r