1

我在我的页面中注入 mustachejs 模板,然后我有一个函数可以在这些模板上触发。

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/

4

1 回答 1

4

<body>元素不(直接)加载外部内容,因此它没有load事件。

改为使用window(用 jQuery 包装window对象本身,不要尝试选择<window>元素)。

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

看一个例子

于 2013-07-07T16:05:56.480 回答