6

pointer-events: none; で外側の div を持つことが可能です。そしてその中に別の div があり、pointer-events: auto; があります。外側の div はクリック イベントに対して透過的になり (つまり、クリック イベントには反応しませんが、基になる html コントロールは反応します)、内側の div は透過的になります。

ただし、iframe で同じことを行う必要があるシナリオがありますが、機能していません。pointer-events: none; を設定しました。iframe では、しかし、クリック可能にする必要がある内部 div は、それらにポインターイベントがあってもありません: auto; 設定。

ここに別の同様の質問がありますが、トピックから外れているため閉じられています。理由がわかりません。これは非常に有効な html/css の質問です。

4

1 に答える 1

3

iFrame は、iFrame が存在するページの一部ではなく、1 つのコンテンツとして扱われるため、できません。

レンダラーと DOM は iFrame をブラック ボックスとして扱っています。これがまさに、たとえば などの通常のメソッドを実行できないiFrameElement.childNodes[0](および<html>iFrame の を取得できない) 理由です。あなたは走らなければならiFrameElement.contentWindow.document.documentElementないか、そのようなものです。これは完全に独立したブラウジング コンテキストです。

于 2014-05-06T17:47:21.727 に答える