2016-11-17 32 views
1

私は簡単な質問があります。ページが表示されるたびにJQuery関数を呼び出します。

私はespecificページを表示するたびに、私はこのjQueryの関数を呼び出す:ここに私の状況である私のページの背景画像を設定し

<script text="text/>JavaScript"> 
    $(window).on('load', function(){ 
    $('body').addClass('background-image') 
    }); 
</script> 

。ページをロード/リフレッシュするとうまくいきますが、リンクでこのページにリダイレクトすると、JQuery関数は呼び出されません。例えば、私はホームページをロードし、イメージは設定されます。私はリンクをクリックしてログインページにアクセスし、ホームページにリダイレクトするリンクを再度クリックしますが、イメージは設定されていません。

ページが表示されるたびにJQuery関数を呼び出すにはどうすればよいですか?

+1

'私は、リンクによってこのページにリダイレクトする場合は、jQueryの機能がcalled'されていません - - それはあなたのイベントは唯一のjQueryのロード後に束縛されることを保証するすべての権利鳴らないこと - リンクをクリックするとページがロードされます –

+1

jQuery ready()関数を使用すると、loadイベントバインディングが機能しない場合や、イベントバインディングコードをjQuery ready()関数内に配置することができます。 –

+0

はい@JaromandaXは本当に奇妙です。 – rwehresmann

答えて

1

イベントバインディングコードをjQueryのready()関数の中に入れます。

<script text="text/>JavaScript"> 
     $(document).ready(function() { 
      $(window).on('load', function(){ 
       $('body').addClass('background-image') 
      }); 
     }); 
    </script> 
+0

を直接使用することができます。今後の参照用: この回答は私の問題を解決しました。しかし、すべての下で、これはjavascriptの奇妙な問題ではありませんでしたが、私のアプリケーションで使用していたRailsのlibの特質です。より多くの情報は質問のコメントにあります。 – rwehresmann

関連する問題