WordPress.org

Make WordPress Core

Changeset 20428


Ignore:
Timestamp:
04/11/12 00:20:42 (3 years ago)
Author:
azaozz
Message:

Fix inserting links in the HTML editor in IE9, fixes #19528

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/js/wplink.dev.js

    r20341 r20428  
    161161 
    162162        htmlUpdate : function() { 
    163             var attrs, html, start, end, cursor, 
     163            var attrs, html, begin, end, cursor, 
    164164                textarea = wpLink.textarea; 
    165165 
     
    184184 
    185185            // Insert HTML 
    186             // W3C 
    187             if ( typeof textarea.selectionStart !== 'undefined' ) { 
    188                 start       = textarea.selectionStart; 
    189                 end         = textarea.selectionEnd; 
    190                 selection   = textarea.value.substring( start, end ); 
    191                 html        = html + selection + '</a>'; 
    192                 cursor      = start + html.length; 
    193  
    194                 // If no next is selected, place the cursor inside the closing tag. 
    195                 if ( start == end ) 
    196                     cursor -= '</a>'.length; 
    197  
    198                 textarea.value = textarea.value.substring( 0, start ) 
    199                                + html 
    200                                + textarea.value.substring( end, textarea.value.length ); 
    201  
    202                 // Update cursor position 
    203                 textarea.selectionStart = textarea.selectionEnd = cursor; 
    204  
    205             // IE 
    206             // Note: If no text is selected, IE will not place the cursor 
    207             //       inside the closing tag. 
    208             } else if ( document.selection && wpLink.range ) { 
     186            if ( document.selection && wpLink.range ) { 
     187                // IE 
     188                // Note: If no text is selected, IE will not place the cursor 
     189                //       inside the closing tag. 
    209190                textarea.focus(); 
    210191                wpLink.range.text = html + wpLink.range.text + '</a>'; 
     
    213194 
    214195                wpLink.range = null; 
     196            } else if ( typeof textarea.selectionStart !== 'undefined' ) { 
     197                // W3C 
     198                begin       = textarea.selectionStart; 
     199                end         = textarea.selectionEnd; 
     200                selection   = textarea.value.substring( begin, end ); 
     201                html        = html + selection + '</a>'; 
     202                cursor      = begin + html.length; 
     203 
     204                // If no next is selected, place the cursor inside the closing tag. 
     205                if ( begin == end ) 
     206                    cursor -= '</a>'.length; 
     207 
     208                textarea.value = textarea.value.substring( 0, begin ) 
     209                               + html 
     210                               + textarea.value.substring( end, textarea.value.length ); 
     211 
     212                // Update cursor position 
     213                textarea.selectionStart = textarea.selectionEnd = cursor; 
    215214            } 
    216215 
Note: See TracChangeset for help on using the changeset viewer.