如何使用 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!");
}
示例:
变量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/