2012-01-11 6 views
2

IEのjQueryに問題があります。コンソールにエラーが表示されないので、デバッグは非常に難しいです。Internet Explorerのjquery .load()での問題 - 他のブラウザで正常に動作します

私はあなたにスクリプトが

のindex.php

<のdivのid = 'tableholderを'>どのように機能するかの内幕を与えるでしょう[article.phpをすることによって、このdiv要素にロードされますPHPは()だから、article.php以内に、私はリフレッシュのためのボタンを持つ最初の頃] </div>の

が含まれます: <のimg ID = '新鮮な' SRC = 'whatever.jpg' />

と私もarticle.phpの上部に次のコードを持っている。だから私はをクリックしたとき

<script type='text/javascript'> 
$(document).ready(function() 
{ 

/*-------------------------------------------------------------------------------*/ 
//       REFRESH BUTTON 
    $('#fresh').click(function() { 
     $('#loadergif').show(); //show loader gif until load complete 
     $("#tableholder").load('article.php?site=whatever',''); 
     $('#loadergif').hide(); //hide loader gif when load is complete 
    }); 
/*-------------------------------------------------------------------------------*/ 
}); 
</script> 

をそれはGoogle Chrome、Safari、Firefox上で正常に動作しますが、IE8では一度しか動作しません。その後、jQueryが休止状態になっているかのようになります。私はarticle.phpの中でjQueryをもう一度追加しようとしましたが、それはそれを修正するようには見えません。

アイデア?

+0

jQueryバージョンは最新ですか? – Jeffrey

+0

バージョン1.7.0 – TheDavil

答えて

1

に後で再注入だ場合にも、あなたは常に要素$('#fresh')にイベントをバインドすることができます。私が見たように、​​は私のためにInternet Explorer 8で働いていました。また、更新されている場合は、jqueryのバージョンを一度確認することもできます。

.click()が正しく動作していることを確認してください。あなたはブラウザによって投げられたエラーを教えてくれますか?

+0

ありがとうございますが、前に述べたように、IEコンソールには全くエラーがスローされません。 – TheDavil

+0

その場合、.post()を使用できます。あなたがこれを使用すれば私に知らせてくれますか? –

+0

私はあなたが何を意味しているのか分かりませんが、私は.post()を使って別のテストをします - ありがとう – TheDavil

3

あなたは、AJAXを介してコンテンツをロードしたときに、あなたの関数であるので、(article.php内)DOMreadyイベントを発生しない、いくつかのcircustancesに

おそらくIE8をlive()click()を変更し、index.phpの中でそのスクリプトを移動しよう実行されない

この場合、メソッドが必要です。ボタンが記事内にある場合、click()メソッドは最初のDOMreadyイベントで関数を1回だけバインドします。

ページがajax経由で読み込まれるときに、#fresh要素を変更して、その要素への以前の参照が失われるようにします。 live()は、それがあなたの代わりに​​を使用しての.post()を使用することができ、文書

+0

ありがとうFabrizio。これは正直なところが理にかなっています。私は元々index.phpでそれを持っていましたが、他の問題がいくつかありました。私はlive()がここで私を助けてくれると思います。後でこれをテストし、この質問を更新します。 – TheDavil

+0

Hmmm、jQuery 1.7以降、.live()は推奨されていません。どうやら、私は.on()を使っているはずですか? – TheDavil

+0

はい、バージョン1.7以降を使用してください()が好ましいです – fcalderan

関連する問題