うん。CKEditor はそのようなケースを考慮したことはなく、おそらくエディタはそのようなエッジ ケースを処理することはありません。
それでも、必要なのは、これらのプラグインeditor.element.getParent()
行のスクロール リスナーです。残念ながら、チケット #9816floatingspace
が解決されるまで待つ必要があります。これにより、ツールバーの再配置方法が変更され、ケースを修正できるようになるためです。修正がリリースされたら (4.2.1 で)、基本的に次のように行を変更する必要があります。
var elementParent = editor.element.getParent();
editor.on( 'focus', function( evt ) {
...
elementParent.on( 'scroll', uiBuffer.input );
} );
editor.on( 'blur', function() {
...
elementParent.removeListener( 'scroll', uiBuffer.input );
} );
editor.on( 'destroy', function() {
...
elementParent.removeListener( 'scroll', uiBuffer.input );
} );
必要に応じて、このチケット ブランチで試してみることができます。それ以外の場合は、今後のリリースでコードにパッチを適用するまで待つ必要があります。
知っておく必要があることも 1 つあります。各フローティング ツールバーは に追加される<body>
ため、エディターを囲む同じ (オーバーフローした) コンテナーに属することはありません。ツールバーはコンテナーと一緒にスクロールしますが、常にその上に浮かんでいるため、この行をハックしない限り、できることはあまりありません。私はそれをテストしていないことに注意してください。
これがお役に立てば幸いです。