【问题标题】:Link click does nothing after ajax switching?ajax切换后链接点击什么都不做?
【发布时间】:2010-03-26 07:40:59
【问题描述】:

我试图在这里找出一个奇怪的案例。我正在尝试设计一个邮箱系统,并制作一些选项 ajax-y。这是场景:

我们有一个包含 2 个选项卡、收件箱和撰写的页面。收件箱本质上是一个格式为mailbox.php?msg=xxx 的链接列表。单击收件箱或撰写选项卡会进行 ajax 切换。

所以,假设我们在一个消息页面上: 邮箱.php?msg=123

我点击“撰写”- ajax 切换到撰写表单。我改变了主意,点击“收件箱”——它会返回到邮件列表。

注意,此时 url 并没有改变(都是通过 ajax 完成的)。

我单击与以前相同的消息。它应该回到那个消息中。然而,什么也没有发生!它应该转到的 url (mailbox.php?msg=123) 是显示在地址栏中的 url,但是,由于早期的 ajax 活动,它显示了收件箱。

关于如何解决这个问题的想法?而且,出于好奇,一个解释?通常,单击将您带到您已经访问过的页面的链接会重新加载该页面。

谢谢!

【问题讨论】:

  • 没有什么我能想到的!!!您使用的是哪个浏览器?你能确保同样的结果也在另一个浏览器中吗?
  • 在 FF3.6 和 IE8 中都可以看到。 . .
  • 您可以检查的另一件事是 AJAX 请求后邮件上的链接本身。尝试使用 firebug 看看它们是否正常。另一个调试点是任何被隐藏的 javascript 错误。让知道它是怎么回事。它激起了我的兴趣:)...
  • 啊!我认为这是因为链接上有一个锚标记。
  • 耶!!所以这是较旧的 ajax 请求...感谢您的反馈

标签: php html ajax


【解决方案1】:

使用 jquery 你可能需要重新绑定事件处理程序,我认为有一个函数 jquery.live 可以做到这一点?

【讨论】:

    【解决方案2】:

    已解决 - 在某些情况下,这与 URL 中显示的锚标记有关。谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      • 1970-01-01
      • 2022-01-25
      • 2014-02-02
      • 2013-03-16
      相关资源
      最近更新 更多