我们有一个使用大量jquery的应用程序,我们将所有脚本添加到init.js文件中,该文件包含大量.live("click"), .live("hover")
等内容,加上一些if($(".classname").length)
等等
我怀疑它可能会不必要地减慢我们的页面速度(有些页面不需要一些脚本)。但是对于这个更优雅的解决方案是什么?对于每个需要它的页面,我们当然不会喜欢单独的文件,这是一个很难维护的问题。还有其他方法可以达到这个目的吗?
答案 0 :(得分:3)
在功能中包装特定于页面的内容,并在每个页面上调用相应的功能。
另一种解决方案是将URL映射到函数并自动调用适用于当前URL的函数 - 然后您就不需要在页面上使用任何JS。
对于您的直播活动,您可以在身体上使用委托,并为正文提供特定于页面的课程:$('body.page-xyz').delegate('your-live-selector', 'click', function(){...})
如果正文具有正确的类,则仅附加事件处理程序。
答案 1 :(得分:0)
您可以使用getScript从主要文件加载其他js文件。