2013-07-07 27 views
1

我在我的頁面中注入了mustachejs模板,然後我有一個函數可以觸發這些模板。爲什麼.on('load',function)不能用於JS模板?

JS這樣:

function loadToggleCSS() { 
    console.log("loadToggleCSS : fired!"); 
    $("button").toggleClass('status0').toggleClass('status1'); 
    console.log("loadToggleCSS : finished!"); 
} 

$('body').on('load', loadToggleCSS); // <------ this doesn't fire on template 

loadToggleCSS(); // <------------------------- this DOES fire! 

有人可以解釋爲什麼第一個失敗。

小提琴:http://jsfiddle.net/RXe2t/15/

+0

只是觸發'loadToggleCSS'在'.g​​etJSON'回調處理程序的底部來代替。 [見小提琴](http://jsfiddle.net/RXe2t/16/)。 – mekwall

回答

4

<body>元件不(直接)加載外部內容,因此它不具有load事件。

改爲使用window(使用jQuery封裝window對象本身,不要嘗試選擇<window>元素)。

$(window).on('load', loadToggleCSS); 

See an example

+0

上帝......爲什麼編碼如此棘手@ __ @ – Hugolpz

相關問題