これは、リッチ テキスト編集に関するこの質問のフォローアップです。contenteditable
最近の Firefox (Linux では 21 ベータ 7) で HTML5 と Javascript を使用しています。
ユーザー入力単語が既知かどうかに応じて2 つの異なる方法 (おそらくと) で表示されるコンテンツ編集可能な<p>
段落 (または後で、ブロック要素) が必要です。したがって、ユーザーが入力した未知の単語であるが既知の名前である場合、2 つの単語は異なる方法でレンダリングされ、編集可能な段落には次のものが含まれます。<div>
<span class='name'>
<span class='word'>
foo john
foo
john
<p><span class='word'>foo</span> <span class='name'>john</span></p>
イベントを取得しているとき、その要素keypress
を知っています。target
しかし、その要素の文字オフセットを知るにはどうすればよいですか。つまり、要素がテキストノードまたはスパンを含むjon
場合、キャレットがjo
前後にn
あり、文字を入力している場合h
、オフセット 2 を取得するにはどうすればよいですか?
もちろん、その引数(文字列)が既知の名前ではなくプレーンな単語である場合、および既知の場合は真の値である場合にknownname
返すjavascript関数があります。null
ところで、プレーンな Javascript が必要です。後で、その Javascript が生成されます (そして、私はそのジェネレーターの実行方法を学び始めています)。