1

JavaScript エラー ログに次のようなエラーが多数表示されます。

オブジェクトが必要です

TypeError: オブジェクト [object Object] のプロパティ '$' は関数ではありません

残念ながら、自分で試してみると、これらのブラウザーのいずれでもエラーを再現できません。強調表示した行は、エラーの原因となっている行です。

「競合なし」モードについて少し読んだことがありますが、ここで問題になる可能性がありますが、以下のコードを見ても問題が何であるかわかりません。

jQuery 1.7.2 を使用しており、CDN ではなくサーバーから提供されます。

<script type="text/javascript" src="/scripts/jquery/jquery-1.7.2.min.js"></script>

私のコード:

$(function() {

    $('.imgCell').live("mouseenter", function() {
        if($(this).find('a img').length > 1) { // this line throws the error
            $(this).find('a img:eq(0)').hide();
        }   
    });

});

特定のブラウザには影響していないようです。影響を受けるのは Chrome 26、Chromium 25、Firefox 10、Firefox 14、Firefox 16、Firefox 20、IE 10、IE 8、IE 9、Mobile Safari 6 です。

4

2 に答える 2

1

jQuery 1.7 以降、.live() メソッドは非推奨になりました。.on() を使用して、イベント ハンドラーをアタッチします。

$(document).on("mouseenter",'.imgCell', function() {
        //do something
    });

CDN を使用している場合は、そのためのフォールバックを作成する必要があります

<script type="text/javascript" src="//ajax.microsoft.com/ajax/jquery/jquery-1.9.2.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') { // load your JS file if CDN failed 
    document.write(unescape("%3Cscript src='/js/jquery-1.9.2.min.js' type='text/javascript'%3E%3C/script%3E"));   
}
</script>
于 2013-05-02T10:57:58.683 に答える