2011-11-15 8 views
1

解決するために試行していますissue​​jQuery関数のイベントハンドラを試してみることにしました。私は何が間違っているのか分かりません。 jQuery page上の例は次のとおりです。.loadイベントハンドラが動作しない

$('#book').load(function() { 
// Handler for .load() called. 
}); 

私のスクリプトだった:

var $j = jQuery.noConflict(); 
$j('#gallery-nav-instruct').load(function() { 
    if(!$j.cookie('gallerycookie')){ 
    $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); 
    $j.cookie("gallerycookie", 1, {expires: 30, path: '/'}); 
    } 
}); 

なぜ私のスクリプトは動作しませんでしたか?ここで

は、そのスクリプトに関連したHTMLです:

<div style="display:none"> 
    <div id="gallery-nav-instruct"> 
    <h2>Gallery Navigation Instructions - Step 1</h2> 
    <h2 style="text-align:right"> 
     <a style="text-align:right;" class="inline cw" href="#gallery-enlarge-instruct">Step 2</a> 
    </h2> 
    <p>&nbsp;</p> 
    <p class="white"> 
     <img src="/Images/Pages/gallery-navigation.jpg" width="890" height="450" alt="Gallery Navigation Instructions" /> 
    </p> 
    </div> 
</div> 

答えて

1

あなたはdiv要素がすでにイベントがバインドされた時点でロードされていないことを確認する方法はありますか?言い換えれば、それはタイミングの問題かもしれません。ロードが完了すると、イベントはバインドされますが、ロードはすでに完了しているため、イベントは発生しません。

私はあなたが解決しようとしている問題を知ることに興味があります。 .load()自体をトラブルシューティングするのではなく(結局のところ、ツールになるかもしれませんが)、横向きの思考の余地を許すのが一番です。たとえば、ドキュメント上でCookieのチェックやカラーボックスの初期化ができなかった理由はわかりません。画像がまだ読み込まれていないかもしれないが、私はそれがユーザー体験を壊すとは思わない。

+0

私はこの質問をチェックアウト、それで遊んで、私は私の問題のよう得るものが表示されます役立つはず - http://stackoverflow.com/questions/8116191/colorbox-not-loading-properly -in-ie - ドキュメントの準備ができました。 – L84

0

ページの最後にスクリプトを配置してください。それはうまくいくかもしれない。親の中のすべてのものが完全にロードされたときに.load()イベントが呼び出されると、すべてのコンテンツがロードされたときにのみ実行されます。

Thisはあなたが

+0

スクリプトを ''から移動すると、IEで何らかの理由でページが完全に壊れてしまいます。 – L84

+0

私の編集したポストを参照してください – Rohan

+0

そのリンクはどのように役立ちますか?私は基本的な構文を理解していますが、ページ全体が壊れていても構文が悪くない他の問題があります。それとも私は何かが恋しい?ありがとうございました – L84

関連する問題