1

特定の範囲 (たとえば、3 行目の 44 列目から 8 行目の 5 列目まで) にのみ適用されるオーバーレイをエディターに追加したいと考えています。

問題は、オーバーレイがステートレスであるため、メソッド内の現在の行を見つける方法を思い付くことができなかったためtoken()、現在の行を状態に保存できないことです。

multiplex.jsとの拡張機能を詳しく調べ、overlay.jsネストされたモードがどのように機能するかを理解しようとしましたが、これらのツールを使用してここで役立つ方法を見つけることができませんでした。基本モードを乱すことなく、これをオーバーレイのように動作させたいことを覚えておいてください。

私の代替手段は、追加されたクラスの要素をスキャンし、手動で変更し、 と を使用element.getBoundingClientRect()cm.coorsChar()てそれらの位置を確認することです。しかし、これは醜く、手動で更新する必要があり、マークされた要素が範囲の境界にまたがるとバグが発生します。これを適切に解決する方法について何か考えはありますか?

4

1 に答える 1

1

そのようなオーバーレイをバインドすることはできません。しかし、DOM を手動でいじる必要もありません。このmarkTextメソッドは、ドキュメントの特定の部分をスタイルするためのより便利な方法を提供します。

于 2015-10-19T14:10:58.013 に答える