2012-01-10 39 views
3

htmlページで要素を取得しようとしていますが、input要素を検出するためにdocument.elementFromPoint(x、y)を使用します。 iframeがない場合は正常に動作します。私は何かをmissihngアムdocument.elementFromPoint(x、y)iframe内の要素を取得する

に従うとしてではなく、内部のiframeが、それは、このコード

HTML内では機能しませんか?

<html> 
... 
<div> 
<div> 
<iframe src="some source"..> 
<html> 
.. 
<form> 
<fieldset> 
<input> 

おかげ

答えて

4

を使用してタグを選択することはできません。

"指定されたポイントの要素が別のドキュメント(iframeのサブドキュメントなど)に属している場合、メソッドが呼び出されるドキュメントのDOM内の要素(iframeの場合はiframe自体)が返されます。

現在のDOMコンテキストがiframeの親である場合は、iframeを返す必要があることを意味します。 iframeが別のドメインのものである場合は、cross domain security issuesもお読みください。

それはあなたのドメインからのものであり、あなたは次のことを行うだろうIFRAMEの内部で要素を取得したい場合:

var el = document.elementFromPoint(x, y); 
if (el instanceof HTMLIFrameElement) 
    el = el.contentWindow.document.elementFromPoint(x, y); //Not sure if you need to update x, y to account for being inside another dom. 
0

あなたのiframeをウェブサイトと同じドメイン上にない場合は、ドキュメントhere 1としてjqueryの/ javascriptの

関連する問題