我的load()仅在第一次部分工作

时间:2014-07-29 09:41:00

标签: javascript jquery

我有一个曾经工作正常的脚本,但现在没有了,有人能指出原因吗?

应该发生的事情是引用的链接被插入目标1,目标2被更新为来自脚本中引用的其他两个来源的新内容。

但是,在页面加载后的第一个clck中,只有目标1会更新。在后续点击中,链接会加载href项目,替换页面上的所有内容。

这是页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <title>Dynamic Content Page</title>
 <script src="/jquery-1.11.0.min.js"></script>
 </head>
 <body>
  <nav>
   <ul>
    <li>
     <a class="loader" href="php/originalcontent1.php">Load original items</a>
    </li>
    <li>
     <a class="loader" href="php/newcontent1.php">Load new items</a>
    </li>
   </ul>
  </nav>
  <main>
   <aside id="target2">
    <?php include 'php/originalcontent3.php' ;?>
    <?php include 'php/originalcontent2.php' ;?>
   </aside>
   <section id="target1">
    <?php include('php/originalcontent1.php') ;?>
   </section>
  </main>   
 </body>
 <script src="/dynamiccontent.js"></script>
</html>

这是脚本“dynamiccontent.js:

$('.loader').click(function(){
$('.loader').unbind('click');
var url = $(this).attr('href');
$('#target1').load(url);
$('#target2').load(['php/newcontent2.php', 'php/newcontent3.php']);
return false;
});

1 个答案:

答案 0 :(得分:2)

我在documentation中看不到加载的第一个参数可以作为URL以外的任何其他参数加入。

您的代码表示在点击标记为class="loader"的任何项目时停止跟踪点击次数。这就是这一行:

$('.loader').unbind('click');

因此,后续点击会按照通常在链接上执行的操作,按照href属性进行操作。