我正在尝试将编辑器的textarea元素用于<div contenteditable="true"></div>
元素。我只有一个问题就是我不能再使用textarea.selectionStart, textarea.selectionEnd, textarea.setSelectionRange()
了。是否有任何方法可以获取和设置dart中div元素的选择范围?还是一种获得插入位置的方法?
答案 0 :(得分:1)
import 'dart:html' as dom;
dom.Range range;
dom.DivElement editable;
void main() {
editable = (dom.document.querySelector('#editable') as dom.DivElement);
dom.document.onSelectionChange.listen(getRange);
}
void getRange(dom.Event e) {
if(dom.document.activeElement != editable) {
return;
}
dom.Selection sel = dom.window.getSelection();
if(sel != null) {
range = sel.getRangeAt(0);
print('${range.startOffset} ${range.endOffset}');
}
}