我在想是否有办法使用javascript从文本区域中选择任意一个句子,只需点击该句子中的任何位置即可。
我正在思考 - 首先,获取当前光标位置(我知道如何) - 第二,以某种方式找到前一个fullstop和下一个fullstop的位置(如何?) - 获取两个完整停靠点内的任何内容。 (工作原理)
或者有一种简单的方法可以做到这一点?
答案 0 :(得分:2)
我假设您已经知道处理插入位置并获取插入符号之前/之后的内容,因此这是一个伪代码解决方案:
答案 1 :(得分:0)
在其他人回应之前,我开始研究这个问题,因为我对它很感兴趣。这就是我的工作。您可以将您的工作基于此并纳入其他建议:
<html>
<script type="text/javascript">
function getsentence(){
var ta = document.getElementById("ta");
var cursor = ta.selectionStart;
var text = ta.value;
//Find the beginning
var start;
for(var i = cursor; i > 0; i--){
if(text.charAt(i) === "."){
start = i+2;
break;
}
start = 0;
}
//Find end
var end;
for(var i = cursor; i < text.length; i++){
if(text.charAt(i) === "."){
end = i+1;
break;
}
end = text.length;
}
alert(text.substring(start, end));
}
</script>
<body>
<textarea id="ta" rows="10" cols="50" onclick="getsentence()">
This is a sample. Here is sentence two. Here is sentence three. And now on to number four.
</textarea>
</body>
</html>