0

是否可以在函数获取选择中使用 charAt 函数,如下所示?

getSelected function () {
   var userSelection;
   if (window.getSelection) {
      userSelection = window.getSelection ();
   } else if (document.selection) {
       userSelection = document.selection.createRange ();
   }
   userSelection return;
}

例如:我有一个完整的文本欢迎堆栈溢出,然后选定的文本是堆栈。当用户选择文本并且系统将其与所有文本进行比较时,我可以使用 charAt 获取指定位置的函数,如果系统找到相同的文本,系统将返回该位置?

因为据我所知 charAt 函数可以用来确定字符串的具体位置.. http://help.dottoro.com/ljetnrhv.php#charAt

4

1 回答 1

1

不是直接的,因为这两种方法都返回一个对象而不是字符串。要使用 charAt,您需要获取 selection 的字符串值,沿线

function getSelectionText() {
   if (window.getSelection)
      return window.getSelection().toString();
   if (document.selection)
       return document.selection.createRange().text;
   return null;
}

alert(getSelectionText().charAt(2)); // 3rd selected char

要在另一个字符串中查找字符串的位置,请使用indexOf。在页面上查找选择的位置要复杂得多,因为您需要考虑 html 结构。从这里这里开始了解更多信息。

于 2010-12-09T05:16:30.373 回答