2009-07-03 14 views
1

私のウェブサイトのすべてのページで次のjqueryコードを実行します。私は定義されmoremoredivの要素を持っているすべての私のページでJquery:すべてのページにイベントを登録するには?

$(document).ready(function(){   
    $("#more").click(function(){ 
     $("#morediv").slideToggle("slow"); 
     return false; 
    }); 
}); 

、私は別のjsファイルを持っており、すべてのファイルにこのコードを追加するすべてのページには、(私は仮定)良い解決策ではありませんため。

私はこのコードを含めるためにglobal.jsを作成しましたが、他のページでも$(document).ready(function(){}関数が定義されているため、それが矛盾していて正しく動作していない可能性があります。

答えて

3

あなたのページに複数の$(document).ready(function(){})要素を置くことができます。 Firefox/Firebugを使用して、問題を発見するために見つけたコンソールエラーを調べることをお勧めします。 jQuery自体の前に、global.jsファイルがロードされている可能性がありますか?それ以外の場合は、Firebugのデバッガでそれを調べる必要があります。

1

$(document).ready()イベントハンドラがglobal.jsにあり、それが含まれているページには問題がありません。私はそれを使用していて、とてもうまく動作します。

2

実際にはサーバーサイドプログラミングを行っているのですか、プレーンなHTMLページについて話していますか?あなたの開発環境と選択したツールに固有のテンプレートを用意して、これらのテンプレートにJSを含めることをお勧めします。実際のページはすべてテンプレートを使用し、JSを利用できます。あなたが求めている質問は、実際にJavascriptやJQueryとは関係ありませんが、あなたのサイトを整理する方法は...私は何かが欠落していない限りです。

1

ちょっと推測しますが、global.jsファイルの場所を正しく参照していますか?あなたのグローバル・スクリプトに次のようなものを書く、確かに

:あなたが警告を取得しない場合、スクリプトはjQueryの後に正しくパス化されていないか、または配置されていない

$(document).ready(function(){     

    alert("document ready"); 

    $("#more").click(function(){ 
     $("#morediv").slideToggle("slow"); 
     return false; 
    }); 
}); 

は(含めますかjqueryインクルードは正しくパッチされません)。

関連する問題