2011-09-16 16 views
0

私はすでに<head>の上にjQueryを宣言しています。その下に、私は他のプラグインを参照しています。私のページの本文でこれを行うと:

<script type="text/javascript"> 
    $(function() { 
     alert('hello'); 
    }); 
</script> 

私は警告を受けません。しかし、私はjQueryをもう一度再宣言すれば:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 

<script type="text/javascript"> 
    $(function() { 
     alert('hello'); 
    }); 
</script> 

それは動作します。 $をjQueryに再割り当てする方法はありますか(これは私が推測しているのはここの問題です)。ですから、jQuery noConlictの代わりに$を使うことができます。

+2

あなたはもちろん、あなただけのいくつかにはjQueryを割り当てることができることを知っています他の変数、すなわち。 '$ j = jQuery.noConflict();'と言っているので、制御のやりとりを心配する必要はありません。 – f0x

+0

@ f0x OPを読んでください! – Neal

+0

問題を永久に解決でき、誰が制御権を持っているのかを把握する必要がない場合に、なぜそれを返すべきか理解できません。 – f0x

答えて

1

あなたがページでjQueryのインラインを置くのではなく、文書準備ブロックでされています。ドキュメントの準備ができていないブロックにそれらがない場合、関数が起動する前にjQueryが完全にロードされているという保証はありません。このような

+1

上記の両方のコードはdocument.readyにあります... –

1

カプセル化:あなたがしたい場合

<script type="text/javascript"> 
    (function($) { 
     alert('hello'); 
    })(jQuery); 
</script> 
1

あなたはまた、単にこれを行うことができます$は、世界的にjQueryのように返されました:

window.$ = jQuery; 
関連する問題