Microsoft Edge浏览器中的range.endOffset给出错误的值

这是Microsoft Edge浏览器的特定问题。我正在尝试使用Range API将CSS样式附加到所选单词。当我尝试公开功能range.endOffset时,边缘浏览器存在问题。在这里,我附上我的代码。


  <!DOCTYPE html>

  <html>

  <body>

  <p>This is sample content</p>

  <p id="demo"></p>


  <script>

  var range = null;

  var selection = window.getSelection();

  if( selection && selection.rangeCount > 0 ) 

  {

       range = selection.getRangeAt( 0 );

  }


  var startOffset = range.startOffset;

  var endOffset = range.endOffset;


 document.getElementById("demo").innerHTML =

 startOffset + "<br>" + endOffset; 

 </script>


 </body>

 </html>

现在,如果我尝试从“ P”标签中选择文本“ content”,则它会为range.startOffset提供正确的值,但会给range.endOffset值提供不正确的值。这将导致样式混乱到整个“ P”标签。仅在Microsoft Edge浏览器中会发生此问题,并且如果所选文本以某些html标记结尾(如此处),则以“内容”文本结尾。如果尝试在文本之间选择文本,则不会发生此问题。它可以在chrome浏览器中使用。是否有任何解决方法可在边缘浏览器中解决此问题?


慕盖茨4494581
浏览 284回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript