Ticket #3104: 3104_3.patch
File 3104_3.patch, 5.0 KB (added by , 15 years ago) |
---|
-
_source/plugins/sourcearea/plugin.js
35 35 outline : 'none', 36 36 'text-align' : 'left' }); 37 37 38 // Add the tab index for #3098.39 var tabIndex = editor.element && editor.element.getAttribute( 'tabIndex' );40 if ( tabIndex )41 textarea.setAttribute( 'tabIndex', tabIndex );42 43 38 // The textarea height/width='100%' doesn't 44 39 // constraint to the 'td' in IE strick mode 45 40 if ( CKEDITOR.env.ie ) … … 74 69 // Set the <textarea> value. 75 70 this.loadData( data ); 76 71 72 // Execute "tab" and "shiftTab" commands if the relevant keys are 73 // pressed. (#3104) 74 textarea.on( 'keydown', function( evt ) 75 { 76 var $evt = evt.data.$; 77 78 if ( $evt.keyCode != 9 || $evt.ctrlKey || $evt.metaKey || $evt.altKey ) 79 return; 80 81 if ( $evt.shiftKey ) 82 editor.execCommand( 'shiftTab' ); 83 else 84 editor.execCommand( 'tab' ); 85 86 evt.data.preventDefault(); 87 } ); 88 77 89 editor.mode = 'source'; 78 90 editor.fire( 'mode' ); 79 91 }, -
_source/plugins/editingblock/plugin.js
98 98 // Do that once only. 99 99 event.removeListener(); 100 100 101 // Grab editor focus if the editor container is focused. (#3104) 102 editor.container.on( 'focus', function() 103 { 104 editor.focus(); 105 } ); 106 101 107 // Fire instanceReady for both the editor and CKEDITOR. 102 108 editor.fireOnce( 'instanceReady' ); 103 109 CKEDITOR.fire( 'instanceReady', null, editor ); 104 110 }); 111 105 112 } 106 113 }); 107 114 -
_source/plugins/tab/plugin.js
13 13 { 14 14 // We need an empty element after the container, so the focus don't go to a container child. 15 15 var tempSpan = new CKEDITOR.dom.element( 'span' ); 16 tempSpan.setAttribute( 'tab index', editor.container.getTabIndex() );16 tempSpan.setAttribute( 'tabIndex', editor.container.getTabIndex() ); 17 17 tempSpan.hide(); 18 18 19 19 // Insert the temp element and set the focus. … … 253 253 254 254 element = new CKEDITOR.dom.element( element ); 255 255 256 if ( element.getComputedStyle( 'display' ) == 'none' || element.getComputedStyle( 'visibility' ) == 'hidden' ) 257 continue; 258 256 259 elementTabIndex = element.getTabIndex(); 257 260 258 261 if ( elementTabIndex > 0 ) -
_source/plugins/wysiwygarea/plugin.js
106 106 107 107 // The following information is needed for IE only. 108 108 var isCustomDomain = CKEDITOR.env.ie && document.domain != window.location.hostname; 109 109 110 110 // Creates the iframe that holds the editable document. 111 111 var createIFrame = function() 112 112 { … … 121 121 width : '100%', 122 122 height : '100%' }); 123 123 124 var tabIndex = editor.element && editor.element.getAttribute( 'tabIndex' );125 if ( tabIndex )126 iframe.setAttribute( 'tabIndex', tabIndex );127 128 124 if ( CKEDITOR.env.ie ) 129 125 { 130 126 if ( isCustomDomain ) -
_source/themes/default/theme.js
45 45 46 46 var height = contentsHtml && editor.config.height; 47 47 var width = editor.config.width; 48 var tabIndex = editor.element.getAttribute( 'tabIndex' ); 48 49 49 50 // The editor height is considered only if the contents space got filled. 50 51 if ( !contentsHtml ) … … 66 67 // differently by the browsers ("semi-inline"). 67 68 var container = CKEDITOR.dom.element.createFromHtml( [ 68 69 '<span id="cke_', name, '" onmousedown="return false;" class="', editor.skinClass, 69 '" dir="', editor.lang.dir, '" title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '">' + 70 '" dir="', editor.lang.dir, '" title="', ( CKEDITOR.env.gecko ? ' ' : '' ), '"' + 71 ( tabIndex ? ' tabindex="' + tabIndex + '">' : '>' ) + 70 72 '<span class="' , browserCssClass, ' cke_', editor.lang.dir, '">' + 71 73 '<table class="cke_editor" border="0" cellspacing="0" cellpadding="0" style="width:', width, ';height:', height, '"><tbody>' + 72 74 '<tr', topHtml ? '' : ' style="display:none"', '><td id="cke_top_' , name, '" class="cke_top">' , topHtml , '</td></tr>' +