刷新div多次触发内部HTML的document.ready

时间:2013-02-09 22:30:00

标签: javascript jquery html load refresh

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

在代码中......

的index.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没有改变,我猜测这是一个缓存的问题。我尝试附加no-caching元标记,将?val = randomInts附加到url ...没有用。要么是因为我做错了,要么是因为它实际上没有用。

我最终实现了一个变通方法,使index.php在document.ready上加载nicetry.html,并简单地从nicetry.html执行location.reload(true)。不过,我想知道是否有更好的解决方案,或者为什么这不符合我的想法。

1 个答案:

答案 0 :(得分:0)

我不知道为什么花了这么长时间才弄明白。我怀疑,我对自己的疯狂和缺乏经验感到纠结。

这是解决方案: 1.确保你有一个相当新版本的jQuery 2.绑定索引中的加载,如下所示:

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

简单:)