Javascript selected text highlighting prob

后端 未结 6 649
名媛妹妹
名媛妹妹 2021-01-31 05:14

I have a html page with text content. On selecting any text and pressing the highlight button, I can change the style of the selected text to highlight the same. To implement th

6条回答
  •  青春惊慌失措
    2021-01-31 05:39

    if (window.getSelection) {
                    var sel = window.getSelection();
                    if (!sel) {
                        return;
                    }
                    var range = sel.getRangeAt(0);
                    var start = range.startContainer;
                    var end = range.endContainer;
                    var commonAncestor = range.commonAncestorContainer;
                    var nodes = [];
                    var node;
    
                    for (node = start.parentNode; node; node = node.parentNode){
                       var tempStr=node.nodeValue;
                       if(node.nodeValue!=null &&    tempStr.replace(/^\s+|\s+$/gm,'')!='')
                         nodes.push(node);
                       if (node == commonAncestor)
                         break;
                    }
                    nodes.reverse();
    
                    for (node = start; node; node = getNextNode(node)){
                       var tempStr=node.nodeValue;
                       if(node.nodeValue!=null &&  tempStr.replace(/^\s+|\s+$/gm,'')!='')
                         nodes.push(node);
                       if (node == end)
                        break;
                    }
    
                    for(var i=0 ; i

提交回复
热议问题