Silverstripe和内部链接中的Ajax模板

时间:2013-09-27 13:10:32

标签: ajax jquery load silverstripe

我最近发布了一个关于如何使用SilverStripe 3中的Ajax加载新页面的问题,而背景图像(取决于侧面)在用户单击菜单项时的幻灯片中更改。问题和有用的答案可以在这里找到:Loading a new page with sliding animation in Silverstripe 3 (with Ajax?)

我已经建立了上一篇文章中建议的网站,一切似乎都运作良好,除了一件事:

当我点击Ajax模板中的链接时,页面以正常方式加载,而不是根据需要通过Ajax加载。 (例如,当我有一个博客或团队结构时,就会发生这种情况:http://doc.silverstripe.org/framework/en/tutorials/2-extending-a-basic-site或当一个页面有链接到我网站的另一个页面时)是否有可能以某种方式改变它?我想通过Ajax加载页面。这可能吗?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

我猜您是按照i suggested in your previous question

的方式向链接添加点击处理程序
$('a').click(function(){...});

但是当你通过ajax加载新的html时,click事件没有绑定(因为这已经发生了)。

您可能希望在此处使用事件委派:

$('body').on('click', 'a', function(){...});

这样事件总是被触发,因为它总是冒泡到身体。