html 选中textarea框内容中的一个词 能获取这个词在第几行吗
时间: 2024-03-13 22:46:25 浏览: 17
可以通过以下步骤获取选中词在第几行:
1. 获取选中文本的起始位置和结束位置,可以使用 `selectionStart` 和 `selectionEnd` 属性。
2. 获取选中文本所在的行数,可以通过 `substr` 和 `split` 方法来实现。
下面是一个示例代码:
```html
<textarea id="myTextarea">这是第1行
这是第2行
这是第3行</textarea>
<script>
var textarea = document.getElementById("myTextarea");
textarea.addEventListener("mouseup", function() {
var selectionStart = textarea.selectionStart;
var selectionEnd = textarea.selectionEnd;
var text = textarea.value;
var selectedText = text.substring(selectionStart, selectionEnd);
var lineNumber = text.substr(0, selectionStart).split("\n").length;
console.log(selectedText + "在第" + lineNumber + "行");
});
</script>
```
当用户在文本框中选中一段文本时,会触发 `mouseup` 事件,该事件会执行上述代码。代码中,首先获取选中文本的起始位置和结束位置,然后获取选中文本所在的行数,最后将选中文本和所在行数输出到控制台中。