以前の投稿: Finding Touched elments CKEDITORで、私は touched elements を探していました。その投稿のアンサーはうまくいきました。
しかし今、私は別の問題を抱えています。キャレットがタグ/ブロックの先頭または末尾に設定されている場合。親がスパンであることしかわかりません。しかし、ユーザーがキャレットをタグのすぐ外側に置こうとした可能性があります。例:
this ^<span>^test</span> text
キャレットは両方の「^」に設定できますが、違いはありません。
(単一選択 (startContainer == endContainer))
タグのすぐ外側にある場合、前の投稿の anwser はスパンを検出します。しかし、タグ内だけでは、新しいシナリオを提供するものは検出されません..新しいシナリオを回避し、タッチされたブロックのように処理できるようにする方法が必要です。
キャレットがスパン内にあるかどうかを検出し、開始に触れたいと思います。終わりについても同じです。関数 range.checkStartOfBlock は false を返します。これは解決策ではありません。