dart - 如何在 Dart 中获取选定的文本或内部 html

标签 dart dart-polymer dart-html

如何使用 dart:html 获取当前选择的文本或内部 html?我使用 div 的 on-mouseup 事件作为起点来执行此操作:

<div on-mouseup="{{on_mouseup}}">
void on_mouseup(MouseEvent e, var detail, DivElement src) {
  final selection = window.getSelection();
  // do somthing 
  // ..
  // final selectedText = ..;

  window.alert("Selected text is $selectedText!");
}

示例:

enter image description here

变量selectedText的值应该是“window.getSel

最佳答案

src.innerHtml` or `src.text
print(window.getSelection().getRangeAt(0).cloneContents().innerHtml);
print(window.getSelection().getRangeAt(0).cloneContents().text);

PolymerElement 中还有一个 shadowRoot.getSelection()

print(shadowRoot.getSelection().getRangeAt(0).cloneContents().innerHtml);
print(shadowRoot.getSelection().getRangeAt(0).cloneContents().text);

我尝试使用自定义元素外部、元素的影子 DOM 中以及作为自定义元素的子元素的内容。

当选择内容跨越阴影边界时,可以选择的内容存在一些问题(立即选择阴影 DOM 的整个内容。除了 document.getSelection()shadowRoot 之外。 getSelection() 始终返回相同的结果。

当结束(鼠标悬停)位于影子 DOM 内时,getSelection 似乎不起作用。当选择在影子 DOM 中开始并在(子)内容中结束时,它会起作用,但反之则不然。

我认为这是一个错误。

关于dart - 如何在 Dart 中获取选定的文本或内部 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26926555/

相关文章:

angular - 将主机和 ComponentResolver 从 AngularDart 4 迁移到 5

dart - Flutter FadeInImage Network - 不会在 setState 图像更改时淡入图像

dart - Polymer.dart 1.0.0-rcx 中的事件处理程序需要什么签名

css - 如何让此模态对话框在移动设备上滚动?

dart - 使用 ImageElement 绘制图像

firebase - 如何使用 flutter 删除 Firebase 存储文件?

json - flutter中嵌套JSON对象的访问属性

dart - Rikulo Bootjack + PolymerDart

dart - 如何使用 Dart 在 IndexedDB 中使用复合键创建对象存储

dart - 如何在Dart中更改按钮的单击事件