我在页面中注入了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/
最佳答案
<body>
元素不会(直接)加载外部内容,因此它没有load
事件。
改用window
(将window
对象本身用jQuery包裹,不要尝试选择<window>
元素)。
$(window).on('load', loadToggleCSS);
See an example