首页 >web前端 >js教程 >如何获取文本区域中的插入符位置和周围文本?

如何获取文本区域中的插入符位置和周围文本?

Patricia Arquette
Patricia Arquette原创
2024-12-22 13:54:10506浏览

How Can I Get the Caret Position and Surrounding Text in a Textarea?

获取文本区域中的插入符位置

确定

对于支持 SelectionStart 属性的 Firefox 和 Safari 等现代浏览器,获取插入符号的列位置非常简单:

function getCaretColumn(textarea) {
  return textarea.selectionStart;
}

但是,在 IE 和旧版浏览器中,此属性不可用,需要更复杂的解决方案:

function getCaretColumnIE(textarea) {
  var caret = document.selection.createRange();
  var length = 0;
  var dul = caret.duplicate();
  dul.moveToElementText(textarea);
  sel.text = '<pre class="brush:php;toolbar:false">function getSurroundingStrings(textarea) {
  var start = textarea.selectionStart;
  var end = textarea.selectionEnd;
  return [
    textarea.value.slice(0, start),
    textarea.value.slice(start, end),
    textarea.value.slice(end)
  ];
}
1'; length = dul.text.indexOf('1'); sel.moveStart('character', -1); sel.text = ""; return length; }

获取光标周围的字符串

要检索光标或选择周围的字符串,我们可以使用获取开始和结束插入符的组合位置,以及切片文本区域的值:

如果单词或文本突出显示,此函数将返回选择之前、之内和之后的字符串。

以上是如何获取文本区域中的插入符位置和周围文本?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn