私はラベルを持っていて、それに設定ondblclick
しています:
<label ondblclick="foo(event);"
style="white-space: pre; font-family: Monospace; font-size: 12px;">
lot's of text here blah blah blah and more...
テキスト内の単語をダブルクリックすると、Javascript 関数へのコールバックを取得します。
選択したテキストの文字数を知りたいです。
次のようなものを使用して、選択自体を取得できます。
(window.getSelection && window.getSelection().toString())
もちろん、私はテキストノード自体を持っているので、テキスト全体があります。
しかし、選択範囲はテキスト ノードに何度も表示される可能性があります。文字の観点からオフセットを知る必要があります。たとえば、ユーザーが何とかをダブルクリックした場合、それがどれであるかを知りたいです。
イベントで見つけることができるのは、私にはピクセルのように見えるさまざまな X、Y 座標だけですが、2 つのスクロール バー、書式設定などがあるため、ピクセルから文字オフセットを計算することは非常に困難です。
この情報はイベント データのどこかにあるのでしょうか、それとも何らかの形でこれを計算するためのコードはありますか?
どんな助けでも大歓迎です。