在尝试制作我的第一个大型 Javascript Web 应用程序时,我无法从概念上理解我应该做什么。
根据用户选择的选项卡,我在容器内显示不同的内容。内容不仅仅是文本,还使用不同的 Javascript 函数和事件。我正在使用雅虎!UI 库的“TabView”实现,但处理此问题的方式可能适用于其他 Tab 方法。
我想做的基本上是以下几点:
为每个选项卡(例如MYAPP.modules.tabCalendar
和MYAPP.modules.tabJourna
l)创建单独的模块。当用户单击不同的选项卡(或使用浏览器按钮导航到以前的选项卡状态)时,我可以调用MYAPP.modules[oldModule].disable()
and MYAPP.modules[newModules].enable()
。这些函数将订阅或取消订阅它们的自定义事件(例如,附加到容器的一般点击处理程序)。
处理事件的另一种方法可能是使用单个全局单击处理程序。如果单击在容器内,则确定当前选择了哪个选项卡并将单击事件发送到MYAPP.modules[currentTab].onClick()
.
或者,全局点击处理程序可以触发自页面加载以来模块已订阅的自定义事件,并且每个模块的onClick
事件将运行并确定它们是否应该做任何事情。
似乎有很多选择,但我一直在寻找资源来谈论做这样的事情的最佳方法。我在正确的道路上吗?我该如何处理?