我正在寻找一种在HTML文档中围绕任意范围绘制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
选择器上的边框或轮廓。
有没有人知道这种方式,这可能是通过上述或其他方法(S)?也许有可能以某种方式计算文本区域,然后用一个画布或一个或多个绝对位置的div来绘制它。
假设:
注:我只需要这个临时发生的,而菜单从主机程序,之后它再次dissapear弹出,因此它是安全的忽略的东西像窗口绘制后滚动矩形或更多内容添加到文档等。
谢谢,我怀疑这将会遇到一些问题,涉及更多复杂的边缘案例,涉及块等。正如你所说,但是我会尝试在应用程序内部,看看它真的有多大的问题......只需将它转换为常规的JS就快速首先,可悲的是,该应用程序似乎并没有与jQuery的工作。 – 2013-03-21 18:30:26
@MolcolmMacLeod我不确定你指的是什么应用程序,所以我不能提供任何建议没有更多的细节。但是,如果您获得了使用jQuery的原型,JavaScript程序员可以使用相同的功能编写代码。如果您有一些在真实世界中可能遇到的示例HTML,那将有助于测试jQuery原型。请随时通知我们。祝你好运! – 2013-03-21 19:58:43