Jquery:构建包含页面在内的导航


Jquery: Building navigation including page inside body

我为我的主页(index.php)建立了一个导航栏,在那里我可以点击一个可用的链接(锚点)。选择一个链接,在我的页面(index.php)中加载一个新的正文,其中包含以下代码:

<script type="text/javascript">
  $(document).ready(function(){
    $('#myselector a').click(function(e) {
          var url = $(this).attr('href');
          $('#body').load(url);
          e.preventDefault();
      });
  });

这个效果很好。

但是,现在加载新的页面page1.php在index.php的主体我有这个麻烦:

我的page1.php包含一个表单,提交后我需要重新加载index.php与page2.php里面。我该怎么做呢?

注:我编辑我的问题:如果你认为现在很清楚,你能投票吗?(我被禁止这个问题,我不能发布其他问题)

为了从稍后插入的节点捕获事件,您需要使用事件委托,例如:

$("body").on("click", "a", function(e){
    var url = $(this).attr('href');
    e.preventDefault();
    $('#body').load(url);
});

这样,每次点击一个链接,这是body的子节点将导致事件处理程序被触发。如果你不想把所有的链接都作为目标,你可以通过给它们添加一个类和选择器来实现。