jQuery surround highlighted text with SPAN

前端 未结 2 1167
滥情空心
滥情空心 2020-12-06 13:08

The following code is supposed to surround the highlighted text in a given Div with a span.

$(document).ready(function(){
    $(\'.format\').click(function()         


        
2条回答
  •  我在风中等你
    2020-12-06 13:23

    DEMO: http://jsfiddle.net/BGKSN/24/

    $(document).ready(function(){
        $('.format').click(function(){
            var highlight = window.getSelection();  
            var spn = '' + highlight + '';
            var text = $('.conttext').text();
            $('.conttext').html(text.replace(highlight, spn));
        });
    });
    

    Later Edit:

    Based on the comment, this is the real functional example:

    http://jsfiddle.net/BGKSN/40/

    $(document).ready(function(){
        $('.format').click(function(){
            var highlight = window.getSelection(),  
            spn = '' + highlight + '',
            text = $('.conttext').text(),
            range = highlight.getRangeAt(0),
            startText = text.substring(0, range.startOffset), 
            endText = text.substring(range.endOffset, text.length);
    
            $('.conttext').html(startText + spn + endText);
        });
    });
    

    Docs: https://developer.mozilla.org/en-US/docs/Web/API/window.getSelection

提交回复
热议问题