ユーザーが選択できるはずのテキストがあるシナリオがあります。問題は、その上に UI オーバーレイがあり、デフォルトでテキストを選択できないことです。オーバーレイを保持したままテキストを選択できるようにする論理的な方法は、合成イベントを使用することです ( を使用しますdocument.createEvent
) が、何らかの理由で期待どおりに機能しません。
イベントは正しく委任され、ハンドラーを起動しているように見えますが、テキストが選択されていません。ここに例があります。これは、問題を大まかに単純化したものです。
いくつかのメモ
- Firefox では、オーバーレイの外で選択を開始すると、オーバーレイの下にある場合でも、必要なテキストを選択できます
- カバーされていない領域に通常の選択があり、オーバーレイをクリックすると、委任された
mousedown
イベントから選択を削除することが期待されますが、それは起こりません
委任する必要があるイベントがありませんか ( mousedown
、mousemove
およびがありmouseup
ます)。それとも、ブラウザがそのような動作を無効にするための何らかのセキュリティ対策ですか (注番号 2 を参照)。望ましい結果を得る方法に関する他の提案はありますか? 現在のオーバーレイ ソリューションを完全に回避する必要があることはわかっていますが、問題自体についてはすでに興味があります。