2015-10-19 76 views
1

我想爲我的編輯器添加一個疊加層,它只適用於給定的範圍(例如,從第3行第44列到第8行第5列)。如何限制疊加到特定範圍?

問題是我找不到任何方法來找到我的方法中的當前行,因爲覆蓋是無狀態的,所以我不能將當前行存儲在狀態中。

我對multiplex.jsoverlay.js的擴展進行了深入研究,並嘗試瞭解嵌套模式如何工作,但我無法想出一種方法來使用這些工具來幫助我。請記住,我仍然希望這表現得像疊加層,因此不會干擾基本模式。

我的替代方案是掃描添加的類的元素並手動修改它們,使用element.getBoundingClientRect()cm.coorsChar()來檢查它們的位置。但是這很醜陋,需要手動刷新,並且當標記的元素跨越我的範圍邊界時導致錯誤。任何想法如何正確解決這個問題?

回答

1

你不能綁定這樣的覆蓋。但你也不必手動弄亂dom。方法markText提供了一種更方便的方式來設置文檔的特定部分。