2016-01-15 7 views
6

document.elementFromPoint機能を使用して、ページ内のすべての本当に表示されクリック可能な要素を見つけることができます。ただし、ビューポート外の要素の場合はnullを返します。ユーザーが要素を表示してクリックできるかどうかを確認するにはどうすればよいですか?

したがって、クリック可能な要素と表示可能な要素をすべてフルページで見つける方法はありますか。目に見える要素はスタイルに限られていません。ちょうどすべての子要素の背後に隠されているコンテナ<div>を考えてみてください。したがって、親<div>はもう見えません。

enter image description here

だから、あなたはページ内のすべての本当に目に見える要素を見つけることが可能であるか任意のアイデアを持っていますか?上記の例では、明らかに「Parent <div>」は実際には見えません。これらの要素が表示されず、スタイル(display,visibilityなど)がそれを示していないという予測不可能な状況がいくつかあります。

私の最終的な意図:要素がであるかどうかは、実際にと表示され、エンドユーザーがクリックできるかどうかをチェックしたいと思います。ユースケースの例として、ユーザーがクリックする可能性のあるすべてのゾーンを探したいと思っています。

+1

これは[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the- xy-問題)。 – Xufox

+0

@Tusharは質問に答えません。私の例では、親divはエンドユーザには表示されませんが、ビューポート測定ではtrueを返します。 – Kousha

+0

@Xufox "エンドユーザーにとって目に見える要素を見つける方法?"私はその質問がはっきりすることを願っています。 – Kousha

答えて

-1

domApiのイベントの背後にある基本を誤解していると思います。 クライアントで何らかのイベントが発生した場合、バブルとキャプチャが発生します。 このようなコード(document.addEventListener('click',function(){},false)

)は、イベントをキャプチャする代わりにバブルを使用する必要があります。 実際にクリック可能なdom要素は、DOMJがバブルまたはキャプチャを使用するかどうかに関係します。

+0

質問を確認したかどうかわかりません。 – Kousha

関連する問題