私は、サイト全体のさまざまなページに含まれている複数のjavascriptファイルに分割された多数の関数とイベントハンドラを持っています。javascriptコードグループ化のテクニック
パフォーマンス上の理由から、これらのファイルはすべて、サイト全体でグローバルな1つのファイルにまとめる必要があります。
問題は、必ずしも存在しない要素関数と同じ関数名で呼び出されるイベントハンドラがあることです。
これは、一般的なJavaScriptのファイルの例です...
$(document).ready(function(){
$('#blah').keypress(function(e){
if (e.which == 13) {
checkMap();
return false;
}
});
});
function checkMap() {
// code
}
function loadMap() {
// code
}
私は、その特定のページに呼び出されたオブジェクトにこのコードを区切る必要があるだろう。私は次のようにイベントハンドラを宣言するだろうか、その後
(function($) {
$.homepage = {
checkMap: function(){
// code
},
loadMap: function(){
//code
}
};
})(jQuery);
をし、それを必要とするページに、私は$.homepage.checkMap()
など
を呼び出すことができます。しかし:
私の考えは、私はこのようにそれを再作成することもできますdocument.ready
それ自体の機能には含まれていませんか?
ベストプラクティスに関するアドバイスはすばらしいでしょう。ありがとうございます!
あなたはあなたが「正しい方向に再(?私は、イベントハンドラがdocument.ready使用する方法) – mgraph
によって何を意味しています。 document.readyを避けるためにドキュメントの一番下にハンドラを置くことができます – dotoree
申し訳ありません。私は、ドキュメント自体ではなくスクリプト内で 'document.ready'を呼びたいと思っていましたが、私はそれを別々に置かなければなりません'$ .homepage'の関数ですか?それを呼び出すことなくこのメソッドを使用してコンストラクタ関数を作成する方法はありますか? – fire