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

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

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

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

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

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

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

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