Visual Studioで表示されるのと同様の方法で、タイプアヘッドルックアップを提供するJqueryプラグインの作成に着手しようとしています。
オートコンプリートや他の同様のタイプアヘッドプラグインには慣れていますが、ポップアップがテキスト領域に入力されている単語の下に配置されるようにしたいと思います。
テキストボックス内でキャレットの現在のxとyを取得する方法はありますか?
ありがとう
サム
Visual Studioで表示されるのと同様の方法で、タイプアヘッドルックアップを提供するJqueryプラグインの作成に着手しようとしています。
オートコンプリートや他の同様のタイプアヘッドプラグインには慣れていますが、ポップアップがテキスト領域に入力されている単語の下に配置されるようにしたいと思います。
テキストボックス内でキャレットの現在のxとyを取得する方法はありますか?
ありがとう
サム
入力をキャンバス要素でオーバーレイし、その中のテキストを測定する (または非表示のキャンバス要素を持つ) 複雑な解決策がありますが、これは古い IE では機能しないと思います。
文字とその相対的な幅を合計することで、テキストの幅を測定できます (既知の幅のモノラル フォントを使用)。次に、入力の上/左を取得し、単語 (空白を含む) の前に charWidth * num の文字を追加するだけで、末尾 (または、この方法で作成した場合は先頭) のやや正確な「上/左」が得られます。語。
コード化された例が必要な場合はお知らせください。適切なものを作成できます。ただし、これ(imo)がこれを行う最も簡単な方法です(モノフォント+幅の計算+入力オフセット)
選択 API と範囲 API を使用して実現できます。しかし、IE と非 IE の API には多くの違いがあります。選択 API と範囲 API については、msdn と mdn を調べてください。