2016-09-29 8 views
0

を識別するために、私はこの機能を使用するように私は、それがロードした後の要素を見つけたい、iframeの負荷がありますIframeがロードされた後、私は自分の要素の1つにイベントリスナーを追加したいので、上記のような関数をupdateとして呼び出していますが、その結果は得られません。は `DOMNodeInserted`を使用するためにどのようにインラインフレームの内容は、私のページで

Iframeの内容にDOMNodeInsertedを使用する正しい方法は何ですか?ここ がupdate機能の私の試みです:

var update = function(){ 

     $(".ssueContentIframe").contents().on("DOMNodeInserted", '.ui-grid-selection-row-header-buttons', function(){ 
      //above contents load in for loop, after loop nothing added 
      $(this).css('border', '1px solid red');//not works 
     }); 

    }; 

または何が正しい方法である、任意のプラグインはそうありますか? ここで親切な助けが必要です!

+0

「iframe」は親ウィンドウと同じ起点ですか? – guest271314

+0

はい、同じ起源のみ - しかし動作しません。 – 3gwebtrain

答えて

0

注:Mutation Eventsは推奨されていません。おそらくMutationObserverを利用してください。call function on change of value inside <p> tagを参照してください。

質問でjavascriptを既存の使用するには、すでにbody要素にイベントを添付しておりますので、<body>要素に挿入されているすべてのノードがevent.originalEvent.originalTargetまたはevent.originalEvent.explicitOriginalTargetを使用してイベントハンドラでアクセスする必要があります。 update()を呼び出して<body>の要素に別のDOMNodeInsertedイベントを添付すると、iframedocumentのイベントは必要ありません。

$("body").on("DOMNodeInserted", ".ssueContentIframe", function(event) { 
    $(this).css('border', '1px solid red'); //works 
    console.log(event.originalEvent.originalTarget); // inserted node 
}); 
+0

確かに私は今試してみましょう。 – 3gwebtrain

+0

を試してみてください、動作していません。内容はループによってitrame内に挿入されますiteratror – 3gwebtrain

+0

Questionで 'javascript'を使用する際に何が問題になりますか? 「突然変異イベント」は推奨されていません。おそらく 'MutationObserver'が使われるはずです。 – guest271314

関連する問題