根据插入符号的位置从文本区域中提取整个单词
Extract the whole word from a textarea depending on where the caret is
我有一个html文本区域,我需要从其中的文本中提取单词,具体取决于插入符号的位置。
所以,如果插入符号在一个单词中,或者只是在一个单词的开头(或结尾)的末尾,我需要得到它。
我该怎么做?我不是在寻找库,只是简单的javascript。请帮忙。
这里有一些代码可以完成这项工作。基本上,提取插入符号位置。将句子转换为数组。循环数组将单词长度加在一起,当长度大于插入符号位置时,您找到了单词。
<html>
<script>
function getCaret(node) {
if (node.selectionStart) {
return node.selectionStart;
} else if (!document.selection) {
return 0;
}
var c = "'001",
sel = document.selection.createRange(),
dul = sel.duplicate(),
len = 0;
dul.moveToElementText(node);
sel.text = c;
len = dul.text.indexOf(c);
sel.moveStart('character',-1);
sel.text = "";
return len;
}
function getWord()
{
var el = document.getElementById('myText');
var carret = getCaret(el);
var words = el.value.split(' ');
var x = 0;
for(var i = 0; i < words.length; i++)
{
debugger;
x += words[i].length + 1;
if(x > carret){ return words[i]; }
}
}
function myWord()
{
var word = getWord();
alert(word);
}
</script>
<body>
<button onclick="myWord();" >Get word</button>
<textarea id="myText">This is a hallo world sentence</textarea>
</body>
</html>
相关文章:
- onkeyup无法动态创建多个文本区域
- FabricJs-限制主对象内添加对象的移动区域
- 在数据提取完成之前进行页面渲染
- 具有所有样式的文本正在复制到可编辑文本区域
- 如何在Javascript中从字符串中提取某些单词
- 如何为高图中的区域线创建z索引
- 在文本区域POST后解码JSON
- 在文本区域中使用jQuery.text()保持换行符
- RegEx JavaScript:数字后的符号提取
- ng在下拉列表和文本区域提交
- 如何在内联依赖项并将图像转换为dataURI的情况下完全提取网页
- 更换163;使用javascript从html文本区域中提取字符
- jquery电子邮件提取器实时从文本区域
- 如何使用JQuery从文本区域内容中提取属性
- 根据插入符号的位置从文本区域中提取整个单词
- JQuery:如何将文本区域的内容选择为html字符串并从中提取文本
- Javascript-Photoshop脚本-将所有填充区域提取到新层中
- 为什么不是't我的javascript函数从文本区域提取文本
- 如何从另一个二维数组中提取一个二维数组区域
- 如何使用JavaScript从文本区域提取文本,并将其放在Gmail的撰写字段