添加.live以单击jquery中的函数

时间:2011-04-14 08:18:42

标签: javascript jquery

我们有一个使用大量jquery的应用程序,我们将所有脚本添加到init.js文件中,该文件包含大量.live("click"), .live("hover")等内容,加上一些if($(".classname").length)等等

我怀疑它可能会不必要地减慢我们的页面速度(有些页面不需要一些脚本)。但是对于这个更优雅的解决方案是什么?对于每个需要它的页面,我们当然不会喜欢单独的文件,这是一个很难维护的问题。还有其他方法可以达到这个目的吗?

2 个答案:

答案 0 :(得分:3)

在功能中包装特定于页面的内容,并在每个页面上调用相应的功能。

另一种解决方案是将URL映射到函数并自动调用适用于当前URL的函数 - 然后您就不需要在页面上使用任何JS。

对于您的直播活动,您可以在身体上使用委托,并为正文提供特定于页面的课程:$('body.page-xyz').delegate('your-live-selector', 'click', function(){...})

如果正文具有正确的类,则仅附加事件处理程序。

答案 1 :(得分:0)

您可以使用getScript从主要文件加载其他js文件。