2013-07-09 37 views
1

pjax插入到pjax容器中的html代码包含一些javascript代码。它工作得很好 - 当pjax插入时,js被执行。pjax:如何让服务器从服务器重新请求html

但是,用户点击浏览器的“返回”按钮时不会发生。

实施例的情况:

  • 用户去/ AAA
  • 用户点击一个pjax'ed连结/ BBB(所请求的HTML 含有JS,被执行)
  • 用户点击上一个pjax'ed连结/ CCC
  • 一个pjax'ed连结/ BBB(所请求的HTML 含有JS,被执行)一个pjax'ed连结/ cc的上
  • 用户点击用户点击c
  • 用户单击后退按钮 - js不会执行。

回答

3

要加载你的页面中添加的jQuery,你需要在pjax事件完成后调用它。

为了使它在浏览器的后退/前进按钮中也能正常工作,可以使用pjax-end事件。

$("#pjax_container_id").bind('pjax:end', function() { 
    // call your jquery functions 
}); 

希望这会对你有帮助。

谢谢。