Angular 使用execCommand选择焦点上的可编辑文本

Angular 使用execCommand选择焦点上的可编辑文本,angular,textselection,execcommand,Angular,Textselection,Execcommand,我有一个简单的代码,假设它选择被聚焦元素的所有内容: html: 问题是这段代码选择了文档中的所有文本,而不仅仅是集中在其中的文本。从我在web上看到的情况来看,如果某个元素是集中的,则这不是“全选”的工作方式: 有解决方案吗?这是一个适用于Chrome和最新浏览器版本的解决方案: focusin(e) { var range = document.createRange(); range.selectNodeContents(e.target); var sel = window

我有一个简单的代码,假设它选择被聚焦元素的所有内容:

html:

问题是这段代码选择了文档中的所有文本,而不仅仅是集中在其中的文本。从我在web上看到的情况来看,如果某个元素是集中的,则这不是“全选”的工作方式:


有解决方案吗?

这是一个适用于Chrome和最新浏览器版本的解决方案:

focusin(e) {
  var range = document.createRange();
  range.selectNodeContents(e.target);
  var sel = window.getSelection();
  sel.removeAllRanges();
  sel.addRange(range);
}

以下是一个适用于Chrome和最新浏览器版本的解决方案:

focusin(e) {
  var range = document.createRange();
  range.selectNodeContents(e.target);
  var sel = window.getSelection();
  sel.removeAllRanges();
  sel.addRange(range);
}
演示:演示:
focusin(e) {
  var range = document.createRange();
  range.selectNodeContents(e.target);
  var sel = window.getSelection();
  sel.removeAllRanges();
  sel.addRange(range);
}