pre autoselect

auto selection of pre on focus

by toubia95

HTML

<pre class="banner-code">&lt;a href="http://www.geologia.fr" alt="Géologia 2012" title ="Géologia 2012"&gt;&lt;img src="http://www.geologia.fr/fileadmin/archives/2012/geologia2012-banniere.jpg"&gt;&lt;/a&gt;</pre>
<a href="#" class="code-selector">Sélectionner le code</a>

CSS

pre {
    background-color: pink;
    display: block;
    padding: 20px;
}

JavaScript

$( 'pre.banner-code' ).click( function() {
        var refNode = $( this )[0];
        if ( $.browser.msie ) {
            var range = document.body.createTextRange();
            range.moveToElementText( refNode );
            range.select();
        } else if ( $.browser.mozilla || $.browser.opera ) {
            var selection = window.getSelection();
            var range = document.createRange();
            range.selectNodeContents( refNode );
            selection.removeAllRanges();
            selection.addRange( range );
        } else if ( $.browser.safari ) {
            var selection = window.getSelection();
            selection.setBaseAndExtent( refNode, 0, refNode, 1 );
        }
} );

$( 'a.code-selector' ).click( function() {
        var refNode = $( 'pre.banner-code' )[0];
        if ( $.browser.msie ) {
            var range = document.body.createTextRange();
            range.moveToElementText( refNode );
            range.select();
        } else if ( $.browser.mozilla || $.browser.opera ) {
            var selection = window.getSelection();
            var range = document.createRange();
            range.selectNodeContents( refNode );
            selection.removeAllRanges();
            selection.addRange( range );
        } else if ( $.browser.safari ) {
            var selection = window.getSelection();
            selection.setBaseAndExtent( refNode, 0, refNode, 1 );
        }
} );