WordPress.org

Make WordPress Core

Ticket #19528: 19528.diff

File 19528.diff, 1.2 KB (added by solarissmoke, 2 years ago)

Store selection information before textarea loses focus

  • wp-includes/js/wplink.dev.js

     
    1010                keySensitivity: 100, 
    1111                lastSearch: '', 
    1212                textarea: '', 
     13                selectionStart: 0, 
     14                selectionEnd: 0, 
    1315 
    1416                init : function() { 
    1517                        inputs.dialog = $('#wp-link'); 
     
    6365                                return; 
    6466 
    6567                        this.textarea = $('#'+wpActiveEditor).get(0); 
     68                        // save selection info before losing focus 
     69                        if( typeof this.textarea.selectionStart !== 'undefined' ) { 
     70                                this.selectionStart = this.textarea.selectionStart; 
     71                                this.selectionEnd = this.textarea.selectionEnd; 
     72                        } 
    6673 
    6774                        // Initialize the dialog if necessary (html mode). 
    6875                        if ( ! inputs.dialog.data('wpdialog') ) { 
     
    185192                        // Insert HTML 
    186193                        // W3C 
    187194                        if ( typeof textarea.selectionStart !== 'undefined' ) { 
    188                                 start       = textarea.selectionStart; 
    189                                 end         = textarea.selectionEnd; 
     195                                start       = wpLink.selectionStart; 
     196                                end         = wpLink.selectionEnd; 
    190197                                selection   = textarea.value.substring( start, end ); 
    191198                                html        = html + selection + '</a>'; 
    192199                                cursor      = start + html.length;