0

情况如下:我有一个带有一些链接的 index.php。每个链接都会获得另一个页面(例如 nicetry.html)以加载到 div 中。正在加载的这个页面(例如 nicetry.html)需要在 document.ready 中触发一些 ajax 并将点击事件绑定到按钮。(实际上,我绑定onclick函数时并不重要)。此按钮应刷新所述 div 的内容,从而触发 nicetry.html 的 document.ready。

在代码中...

索引.php:

<script>
    $("#nicetry").click(function(){
         $('#content').load('nicetry.html');
    });
</script>
<body>
<div id="nav">
 <ul>
  <li id="home"> <a href="#"> Home </a></li>
  <li id="nicetry"> <a href="#"> nicetry </a></li>
 </ul>
</div>

<div id="content"></div>
</body>

nicetry.html

$(document).ready({

//some stuff

 $("#next").on("click", function() {
   $("#content").load("nicetry.html");
 });
});

这适用于我第一次点击“下一步”按钮,然后它停止重新加载 div。由于按钮的 id 没有改变,我猜这是缓存的问题。我尝试附加无缓存元标记,将 ?val=randomInts 附加到 url ......没有任何效果。要么是因为我做错了,要么因为它实际上不起作用。

我最终实现了一个解决方法,让 index.php 在 document.ready 加载 nicetry.html 并简单地从 nicetry.html 执行 location.reload(true)。不过,我想知道是否有更好的解决方案,或者为什么这不能按照我认为的方式工作。

4

1 回答 1

0

我不知道为什么我花了这么长时间才弄清楚。正如我所怀疑的那样,我太纠结于自己的疯狂和缺乏经验。

解决方案如下: 1. 确保您有一个相当新的 jQuery 版本 2. 像这样在索引中绑定加载:

        $(document).on("click", "#next",
            function() {
                    $("#content").load("nicetry.html");
            });

简单的 :)

于 2013-02-16T01:11:43.033 回答