2

いくつかの iframe を含む div 要素があります。時々、それらの iframe を破棄して新しい iframe を作成しますが、それぞれの iframe (後に追加されたものも含む) の読み込みがいつ終了するかを常に知る必要があります。次のコードが機能すると思っていましたが、デバッグ コンソールに何も記録されません。何か助けはありますか?

  // doesn't work
  $('#viewport').on('load', 'iframe', function() {
    console.log('LOADED!');
    return true;
  });

  // doesn't work either
  $('#viewport').on('ready', 'iframe', function() {
    console.log('LOADED!');
    return true;
  });
4

2 に答える 2

0

これは動的 iframe では実行できないと確信しています。jQueryサイトから(廃止されたload()関数の下:

注: .live() および .delegate() メソッドを使用して、iframe のロード イベントを検出することはできません。load イベントが親ドキュメントを正しくバブルアップせず、event.target が Firefox、IE9、または Chrome によって設定されていません。これは、イベントの委任を行うために必要です。

同様のプロジェクトを機能させることもできません。

于 2013-07-29T22:26:33.467 に答える
0

イベントを追加する前に、フレームの読み込みが完了している可能性があります。

イベントを DOM に追加する前に追加してみてください。

var iframe = document.createElement("iframe");
// set iframe properties
$(iframe ).on('ready', 'iframe', function() {
  console.log('LOADED!');
});
document.body.appendChild(iframe);
于 2012-05-14T16:17:51.050 に答える