0

ドキュメントによると、これは機能するはずです:

$('#content').on( 'load', function(event){
    alert('ready')
})

しかし、そうではありません。http://jsfiddle.net/SJKqt/

これは機能します:

$('#content').on( 'load', alert('ready') )

しかし、匿名関数をまったく実行できません。

4

2 に答える 2

2

onload イベントは、次の要素でサポートされています。

<body>, <frame>, <frameset>, iframe, <img>, 
<input type="image">, <link>, <script>, <style>

したがって、そのうちの1つにハンドラーを登録していないと思います。

于 2012-05-29T22:27:43.043 に答える
0

のjQueryページ.load()から:

画像で使用する場合の load イベントの注意事項

開発者が .load() ショートカットを使用して解決しようとする一般的な課題は、画像 (または画像のコレクション) が完全に読み込まれたときに関数を実行することです。これには注意すべき既知の警告がいくつかあります。これらは:

  • クロスブラウザーで一貫して確実に動作しない
  • 画像の src が以前と同じ src に設定されている場合、WebKit で正しく起動しません。
  • DOM ツリーを正しくバブルアップしない
  • ブラウザのキャッシュに既に存在する画像の起動を停止することができます

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

あなたの jsFiddle は iframe で実行されています。これは、コードがそこで機能しない理由の 1 つの説明である可能性があります。

于 2012-05-29T22:28:12.590 に答える