我正在开发一个应用程序,它需要选择下一行以及所选行。
以下代码用于文本选择
function getSelectedText() {
var text = "";
if (typeof window.getSelection != "undefined") {
text = window.getSelection().toString();
} else if (typeof document.selection != "undefined" && document.selection.type == "Text") {
text = document.selection.createRange().text;
}
// alert('text = ' + text);
return text;
}
如何在javascript中选择下一行文字以及所选行?
答案 0 :(得分:1)
这可能有助于您了解如何实现这一目标:
HTML:
<body>
<pre>
Hahahaa. Jacko. Superman. Hulk.
</pre>
</body>
使用JQuery的Javascript:
function getSelectionTextWithNext() {
var text = "";
if (window.getSelection) {
text = window.getSelection().toString();
} else if (document.selection && document.selection.type != "Control") {
text = document.selection.createRange().text;
}
var preText = $("pre").text();
var theBeginningTextIndex = preText.indexOf(text) + text.length;
var preTextIndex = preText.indexOf('.', theBeginningTextIndex);
var nextSentence = preText.substring(preText.indexOf(text), preTextIndex + 1);
console.log(nextSentence);
return nextSentence;
}
$(document).ready(function (){
$('pre').mouseup(function (e){
getSelectionTextWithNext();
})
});
现场演示:
http://jsfiddle.net/BQSJ3/317/
样本会找到“。”作为句子结尾的标记。 样本也可能是错误的,但希望它能为您提供想法。
伪代码:
- 获取选择文字。
- 浏览html元素中包含的原始文本,并使用自定义逻辑来获取下一个句子。 (在这个例子中,“。”是 句子结尾的标记)。
醇>
FYI, 发布的代码是
的扩展版本http://jsfiddle.net/abdennour/BQSJ3/6/
致敬原始创作者。
希望它有所帮助。 感谢