WordPress.org

Make WordPress Core

Changeset 20428


Ignore:
Timestamp:
04/11/2012 12:20:42 AM (6 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.