如何从window.getSelection().getRangeAt(0)中进行选择并用HTML标记(如“span”或“mark”)包围它?我更喜欢直接的javascript或jQuery解决方案。我能够使用警报输出选定的文本,但还没有弄清楚如何用额外的标记包围它。我已经看到很多在选择上运行execCommand的例子,但这不是我要找的。在jsfiddle查看我的工作示例有什么想法吗?谢谢 最佳答案 如果所选文本全部包含在单个文本节点中,您可以使用surroundContents()范围的方法。但是,这在一般情况下不起作用。要做的
我想将元素定位在所选文本之上。但我无法计算出坐标。varsel=document.getSelection();if(sel!=null){positionDiv();}例子:(图片) 最佳答案 这是基本思想。您在选择的开头插入虚拟元素并获取该虚拟html元素的坐标。然后将其删除。varrange=window.getSelection().getRangeAt(0);vardummy=document.createElement("span");range.insertNode(dummy);varbox=document.get
我需要建立一个评论机制,用户可以在其中突出显示一段文本,单击“对此发表评论”,然后执行某些操作。Javascript代码必须不仅要知道所选文本(这很简单),还要知道anchorOffset,才能准确知道文本是从哪个字符选择的。我找到了cross-browsersolution给你的文字。有没有可靠的方法来获得selectionobject正如DOM规范中所描述的那样? 最佳答案 你可以试试IERange,它在IE中创建一个类似选择的对象,并向window添加一个getSelection()方法。我不认为它是完美的,但它是我见过的最好
是否有一个完整的解决方案来从不同的元素中获取每个浏览器中的插入符号位置和/或选择。我正在寻找一个我可以执行的解决方案mGetCaretPosition(iControl)女巫将返回其元素内的插入符号位置。我尝试了很多功能:选择(窗口/文档)[document=IE,window=Opera]getSelection(窗口/文档)[document=Firefox,document=Chrome,document=Safari]selectionStart(输入/文本区域)[全部]craeteRange(选择)createTextRange(选择)调用document.selection
我有一个脚本可以更改所选文本的背景颜色。但是,当跨多个元素/标签选择文本时,我遇到了一个问题。我得到的代码是:vartext=window.getSelection().getRangeAt(0);varcolour=document.createElement("hlight");colour.style.backgroundColor="Yellow";text.surroundContents(colour);输出的错误是:Error:Theboundary-pointsofarangedoesnotmeetspecificrequirements.=NS_ERROR_DOM_R
选择一个文本block(可能跨越许多DOM节点)时,是否可以使用JavaScript?提取所选文本和节点想象一下这个HTML代码:HelloWorldHithere!如果用户从“World...”开始发起mouseDown事件,然后甚至在“there!”之后发起mouseUp事件,我希望它会返回:Text:{selectedText:"WorldHithere!"},Nodes:[{node:"h1",offset:6,length:5},{node:"p",offset:0,length:16},{node:"p>b",offset:0,length:6}]我试过将HTML放入文本区
我想使用getSelection函数从文章中选择单词到View框。这是我的代码:http://jsfiddle.net/xQKNh/2/.现在我想问一下,如何使用JavaScript来选择整个单词?为了解释,Isyourquestionaboutprogramming?在我的代码中,如果我选择rquestionaboutpro,viewbox将显示rquestionaboutpro但是如何让单词补全呢?这样它输出:yourquestionaboutprogramming.Javascript代码:functiongetSelected(){if(window.getSelection)
我正在开发一个简单的Firefox扩展,我想获取选定的文本。我试过这个:varWordCount={/*...*/changeSelected:function(){varselectedText=this.getSelection();varwords=this.countWords(selectedText);this.changeStatus(words,"selected");//alert(selectedText);},getSelection:function(e){varfocused_window=document.commandDispatcher.focusedW
我正在尝试制作一个JavaScript小书签,它将充当荧光笔,在按下小书签时将网页上选定文本的背景更改为黄色。我使用下面的代码来获取选定的文本,它工作正常,返回正确的字符串functiongetSelText(){varSelText='';if(window.getSelection){SelText=window.getSelection();}elseif(document.getSelection){SelText=document.getSelection();}elseif(document.selection){SelText=document.selection.cre
假设我使用鼠标在页面上突出显示了一些文本。如何使用JavaScript删除所有突出显示的文本?谢谢。 最佳答案 我对这个问题的理解有点不同。我相信你想知道如何从文档中删除选定的文本,在这种情况下你可以使用:functiondeleteSelection(){if(window.getSelection){//Mozillavarselection=window.getSelection();if(selection.rangeCount>0){window.getSelection().deleteFromDocument();wi