0

質問に関連する部分が次のスクリプトがあります。

<script type="text/javascript">
    function imageOnClick() {
        var image = $("#image_id");
        $(image).attr("src", "ajax-loader.gif");
        $.ajax({
            // do staffs
            complete: function () {
                $(image).attr("src", "default.gif");   // ***     
            }
        });
    }
</script>

Firefox と IE-8 ではすべて正常に動作します。ただし、GoogleChrom(21.0.1180.83) では、読み込み中の画像が表示されてからcomplete呼び出されると、画像のソースが変更されますが、表示されません。イメージ要素のsrc属性が期待どおりに変更されていることを確認しましたが、イメージのdefault.gifスペースは空白のままです。

これは簡単な解決策でよくある問題ですか? または、大きなimageOnClick関数を再チェックする必要がありますか?

4

1 に答える 1

1

このフィドルは、Chrome 21.0.1180.79 で機能します。

問題が発生している理由はわかりませんが、画像オブジェクトの余分な選択は少なくとも不必要です. var image = $("#image_id");jQuery オブジェクト (またはそれらの配列) を返します。後で行う$(image)と、まったく同じオブジェクトが得られます。

また、 prop() と attr()についても読みたいと思うかもしれません。

于 2012-08-23T06:58:36.410 に答える