Tag: getselection

使用window.getSelection从textarea中选择或找到光标所在的文本行

我使用Ajax调用动态填充textarea。 在我的代码中,我想使用window.getSelection获取光标的当前行内容。 我试过以下代码, var range = window.getSelection().toString; alert (typeof(range)); 但是,它返回作为警报消息的function。 或者任何其他更好的方法,从textarea获取光标的当前行内容,代码需要在所有浏览器中支持。 获得当前行内容后,我会找到行号并更新新内容。

window.getSelection()。getRangeAt()无法正常工作

我试图在一个html元素中选择文本,然后在它周围插入span标签。 到目前为止,我遇到了正确的索引问题。 如果我在 块中突出显示文本,则索引在标记后变为0。 我希望能够将文本切片(),然后在突出显示文本之后将其与span标签重新组合,以及抓取所选文本并通过Ajax将其发送到服务器。 以下是一些示例HTML和代码: This is some sample text.Select this text. jQuery的: $(‘*’).mouseup(function() { mouseDown = false; var startIndex = window.getSelection().getRangeAt(0).startOffset; var endIndex = window.getSelection().getRangeAt(0).endOffset; alert($(body *).text().slice(startIndex, endIndex)); });

如何用ipad中的div包装所选文本?

这是一个后续问题。 我正在尝试使用window.getSelection()将所选文本包装在div中,但它在iPad中不起作用,因为window.getSelection()。rangeCount为0。 演示: http : //jsfiddle.net/codef0rmer/jE4w5/ 有没有解决方法在iPad上工作?

如果它位于元素内,则避免使用createElement函数(contentEditable)

我正在使用此function,以便使用Safari和Chrome在contentEditable div的替换行中用替换New Divs : $(“#form_description”).live(“keypress”, function(e){ if (e.which == 13) { if (window.getSelection) { var selection = window.getSelection(), range = selection.getRangeAt(0), br = document.createElement(“br”); range.deleteContents(); range.insertNode(br); range.setStartAfter(br); range.setEndAfter(br); range.collapse(false); selection.removeAllRanges(); selection.addRange(range); return false; } } }); 问题是,当我在Something输入内容并按“返回”键时,我不想得到 ,所以我可以继续列入清单… 如果我在LI元素中,我怎么能创建一个不工作的条件? 编辑我的答案: 好的,我已经设法做到了,但如果您对代码有任何评论,欢迎您: $(“#form_description”).live(“keypress”, function(e){ if (e.which == 13) { node = document.getSelection().anchorNode; nodeName = node.parentNode.nodeName.toLowerCase(); if […]