我正在尋找一種在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