特定の場所 (ビューポートに対する x、y など) の下にある html 要素のリストを繰り返し取得する必要があるアプリを構築しています。次のアプローチを検討していますが、満足できるものはありません。
(1)htmlを調べて、すべての要素のx、y位置を追跡するデータ構造を構築し(x、y - >要素のセット)、ルックアップが必要なときにこのデータ構造にアクセスします. 残念ながら、このアプローチは少し面倒なので、この問題を解決するためのより良い方法を探しています。さらに、遅すぎるのではないかと心配しています。
(2) 私が検討しているおそらくより良いアプローチは、すべてのホバー イベントをキャプチャするトップレベルのイベント ハンドラーを一時的に追加し、特定の位置でのマウス ホバーを偽造してから、ハンドラーを削除することですが、これは最上位の要素のみを返します (たとえば、特定の場所に絶対位置の div がたくさんある場合、z-index が最も高いものだけが返されると思いますが、すべてが必要ですが、よくわかりません) )。
(3) IE の場合、componentFromPoint(x, y) がありますが、他のブラウザーで同等のものを見つけることができません。これは、最上位の要素のみを返します。
アプリはブックマークレットとして構築されており、基になる html を制御できないことに注意してください。残念ながら、これにより簡単なサーバー側のソリューションが削減されます。
私はライブラリを使用したいと思っています (現在は jquery を使用しています)。
参考までに、これまでのところ、ここで見つけた最高のものはGet DIV id based on x & y positionです。もっと最新のものがあるかどうか疑問に思っています。