0

我觉得这是我只需要别人看的那些事情之一。我正在尝试通过后端加载我的页面,但我遇到了一个小问题。如果您可以推荐一种更清洁的方法,请这样做。但是现在我的问题是偶尔,特别是如果我快速连续点击,它实际上会多次获取页面。当然,这使它看起来令人难以置信的错误并破坏了我正在做的事情的全部意义。

您可以在http://new.potentstudios.com上查看该网站

点击页面足够,你会看到我在说什么。

我不太确定需要什么样的更多信息。我完全被难住了。我今天花了几个小时在它上面,它有这个问题。我怀疑这与哈希更改检测有关,但我无法确认。

谁至少能帮我找到答案,谁就是我永远的好朋友。

编辑:这是有问题的 Javascript 源文件。在 IMO 代码标签中发布太长了。

http://new.potentstudios.com/wp-content/themes/Potent/scripts/main.js

EDIT2:我现在可以确认它与 hashchange 有关,但是我不知道为什么它会这样做两次。谁能看到我在哪里更改哈希两次?

4

2 回答 2

1

我不知道我是否正确理解了您的问题,但看起来您在另一个完成之前发送了一个 ajax 请求。如果是这种情况,请尝试使用以下方法中止前一个:

jsXHR=null;
$('#myLink').click(function(){
     if(jsXHR)
         jsXHR.abort();
     jsXHR=$.get('my.url',function(data){
           jsXHR=null;
           $('#myTarget').html(data);
           //(...)
     });
});
于 2012-09-23T00:06:20.763 回答
0

甚至无需查看您的代码就可以建议两件事。

  1. 从 Ajax 函数返回 false
  2. 在你的 $(".class").click(function(){ 添加 $(this).unbind('click');
于 2012-09-23T01:09:11.610 回答