文本区域中的插入符号位置和周围字符

Caret position in textarea and surrounding characters

本文关键字:位置 周围 字符 符号 插入 区域 文本      更新时间:2023-09-26

我需要的是这个。我需要一个函数来获取光标在文本区域中的位置,并检查周围的字符是否为"<"和">"(不带")。我有一个获取插入符号位置的函数

  function getCaret(el) { 
  if (el.selectionStart) { 
    return el.selectionStart; 
  } else if (document.selection) { 
    el.focus(); 
    var r = document.selection.createRange(); 
    if (r == null) { 
      return 0; 
    } 
    var re = el.createTextRange(), 
        rc = re.duplicate(); 
    re.moveToBookmark(r.getBookmark()); 
    rc.setEndPoint('EndToStart', re); 
    return rc.text.length; 
  }  
  return 0; 
  }

所以这是一个例子:

<textarea>
<paragraph>Text goes here.</paragraph>
<picture>Picture</picture>*(* is caret)
</textarea>
function xyz(){
var i=getCaret(textarea);
var previous_character=textarea.value(i-1);
var next_character=textarea.value(i+1);
    if(previous_character==some_character and next_character==some_character){
    do something...
    }
}
您可以使用

字符串对象charAt函数(字符在)获取字符

var previous_character=textarea.value.charAt(i-1);
var next_character=textarea.value.charAt(i);  // i will give you the next