作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我当前有一个在该页面上使用的大型外部 javascript 文件。我目前将代码包装在自调用函数中,因为我还有使用 ajax 选项卡加载的其他部分,因此我想避免与其他外部 js 文件发生命名冲突。
文件中的代码组织如下。我想将 plannerTab 命名空间内的一些代码拆分为更小的文件,但仍将其作为该命名空间的一部分。
我怎样才能做到这一点?或者,你们推荐一种不同的方法吗?谢谢!
// Document Ready
$(function ()
{
// initializes table
plannerTab.plannerTable.init();
});
var plannerTab = (function ()
{
// All the code for the page is in here. I would like to extract sections
// from in here and put them into their own external files while still keeping
// the namespacing
}();
更新
如何将 plannerTab 变量中的部分分离到较小的外部 js 文件中,并仍然保持它们是 plannerTab 命名空间的一部分?下面是一个小例子。
// Scope: plannerTab.config - Would like to store configuartion into a separate file
var config = {
selectors: {
tableId: '#plannerTable',
addTaskId: '#AddTask',
editTaskSelector: '#plannerTable .edit',
dateFilterSelector: '#plannerTable_TimeFilter li',
deleteTaskClass: '.delete',
searchFilter: '#plannerTable_filter',
selectedDateFilter: 'selected-dateFilter',
taskCellSelector: '#plannerTable .task-col',
taskClass: '.taskId'
},
urls: {
addTaskFormURL: '/Planner/Planner/LoadAddTaskForm',
editTaskFormURL: '/Planner/Planner/LoadEditTaskForm',
deleteTaskURL: '/Planner/Planner/DeleteTask',
getTasksByDateRangeURL: '/Planner/Planner/GetTasksByDateRange',
viewTaskURL: '/Planner/Planner/ViewTask'
}
};
最佳答案
看这个例子(来自谷歌)
<script type="text/javascript">
function importScript(url){
var tag = document.createElement("script");
tag.type="text/javascript";
tag.src = url;
document.body.appendChild(tag);
}
window.onload = function(){
// imports go here
importScript("foo.js"); // example
};
</script>
关于javascript - 如何将 javascript 文件组织成更小的 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4997729/
我是一名优秀的程序员,十分优秀!