我正在寻找一种outline
在 HTML 文档中围绕任意范围绘制的方法。即我想做类似的事情:
var start=document.getElementById('foo');
var end=document.getElementById('bar');
var range = document.createRange();
range.setStart(start, 0);
range.setEnd(end, 0);
然后有一个outline
出现range
。
到目前为止,我已经研究了以下方法:1)document.execCommand
但遗憾的是,似乎只能通过这种方法应用背景或前景色,而不是任何类型的边框或轮廓。2)设置range
为文档selection
,但看似css不允许::selection
选择器上的边框或轮廓。
有谁知道通过上述方法或其他方法可以实现这一点的方法?也许有可能以某种方式计算文本区域,然后用画布或一个或多个绝对定位的 div 绘制它?
假设:
注意:我只需要在主机程序弹出菜单时暂时发生这种情况,之后它应该再次消失,因此可以安全地忽略绘制矩形后窗口滚动或添加到文档等的更多内容等内容。