2009-02-16 42 views
1

在每個頁面上,我創建了自定義的js對象。

我想訂閱$()。ready事件,這樣當它觸發時,我的對象init函數也會觸發。

這可能嗎?

更新

我的目標是這樣的:

var blah = function() { 
    var init = function() { 
    //init function stuff 
    }; 
    return { 
    InitPage: function() { init(); } 
    }; 
}(); 

然後我的網頁上我會做:

blah.init(); 
+0

您的意思是`blah.InitPage()`。 `init`是「私人的」。 – 2011-04-08 17:17:08

回答

9
$(document).ready(function() { 
    YourObject.init(); 
}); 
+0

+1給你,我會刪除我的不太具體的答案。 :-) – 2009-02-16 21:21:49

+0

作爲一個簡寫,你可以做$(function(){...}); – Mark 2009-02-16 21:23:19

1

退房jQuery的live事件。

當你綁定一個「活」事件時,它將綁定到頁面上所有當前和將來的元素(使用事件委託)。例如,如果您對頁面上的所有「li」元素進行實時點擊,然後再添加另一個li,則該點擊事件將繼續適用於新元素(這不適用於必須重新綁定的綁定)綁定在所有新元素上)。

例子:

$("p").live("click", function(){ 
    $(this).after("<p>Another paragraph!</p>"); 
}); 
2

也許我誤解你的問題,但我想你想要做的就是把這個區塊內的初始化代碼是什麼:

$(document).ready(function() { 
    // your code here 
}); 

當你傳遞一個函數到jQuery ready()函數它聚合新功能與所有以前的功能。換句話說,這將工作:

$(document).ready(function() { 
    alert("a"); 
}); 

$(document).ready(function() { 
    alert("b"); 
}); 

您不必擔心會覆蓋你以前ready()電話。

相關問題