我正在用 phonegap、backbone.js 和 require.js 构建一个应用程序。每个模板都有相同的导航菜单,并且模板中的每个标题都有一个用于滑入和滑出菜单的按钮。菜单显示如下代码:
$('#slide-menu-button').on("click", function (e) {
var cl = document.body.classList;
if (cl.contains('left-nav')) {
cl.remove('left-nav');
} else {
cl.add('left-nav');
}
});
我不想把这段代码放在每个视图中。无论当前显示什么模板,我可以将这段代码放在哪里,以便它始终执行?目前我把它放在 app.js 中,看起来像:
require.config({
baseUrl: 'js/lib',
paths: {
app: '../app',
tpl: '../tpl'
},
shim: {
'backbone': {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
},
'underscore': {
exports: '_'
}
}
});
require(['jquery', 'backbone', 'app/router'], function ($, Backbone, Router) {
var router = new Router();
$("body").on("click", ".back-button", function (event) {
event.preventDefault();
window.history.back();
});
Backbone.history.start();
$('#slide-menu-button').on("click", function (e) {
var cl = document.body.classList;
if (cl.contains('left-nav')) {
cl.remove('left-nav');
} else {
cl.add('left-nav');
}
});
});
但是,这仅适用于加载的第一个模板,而不适用于任何其他后续模板...