[12345678] や [12345
67890]<input type="text">
などのランダムな既存のテキストを含む HTML があり
ます。このテキスト内に任意の配置のマウスダウン クリック イベントがあります。JS でキャレットを適切に配置するために、2D マウスダウン クリック ページ座標を 1D 文字ベースのテキスト座標に変換する必要があります。明らかに、ブラウザーには、この変換を内部で行う機能があります。と呼んでもいいでしょう。入力には標準の可変幅フォントがあり、任意のレベルの倍率にすることができます。ブラウザは FireFox に制限されています。JQuery と JCursor があります。<textarea>
背景: 入力フィールドは、深くネストされたボックス内で動的に生成され、それぞれが危険なオーバーロードを持っています。レガシー コードと最新の FF 実装の組み合わせは、マウスダウンが入力要素からバブルアップしてからデフォルトのブラウザの set-caret アクションに到達するまでの間、マウスダウンの伝播/フォーカスを何らかの形で盗んでいますが、これは発生していません。自分でキャレットを設定する必要があります。