【问题标题】:jQuery .load() function is failing in firefox 3.6.10jQuery .load() 函数在 firefox 3.6.10 中失败
【发布时间】:2010-10-09 03:20:04
【问题描述】:

我是一个新手,如果这个脚本是初级的,请见谅。

我正在尝试使用 jQuery 的 .load() 函数在我构建的表达式引擎网站上加载下个月或上个月的活动日历。以下脚本在 Chrome、Safari、IE 和 Firefox 4 beta 中有效,但在 FF 3.6.10 中失败:

   $('th a.right, th a.left, th a.center').click(function() {
      var navMonth = $(this).attr("title");
      $('#calendar').html('<p style="padding: 102px 120px;"><img src="http://dashboardco-op.org/images/infra/ajax-loader.gif" /></p>');
      $('#calendar').load(navMonth);

});

这是html:

              <th colspan="1"><a id="mc_prev_month" class="icon left" title="{path='live/calendar'}{prev_month format="%Y/%m"}/">&larr;</a></th>
              <th colspan="5"><a class="center" title="{path='live/calendar'}{next_month format="%Y/%m"}/">{month format="%F %Y"}</a></th>
              <th colspan="1"><a id="mc_next_month" class="icon right" title="{path='live/calendar'}{next_month format="%Y/%m"}/">&rarr;</a></th>

我使用的是 'title' 属性,因为 .load() 不会覆盖 'href' - 因此页面会在新页面中加载而不是异步加载。

谢谢。

【问题讨论】:

  • 您是否尝试过使用 Firebug 并检查网络面板?
  • 失败是什么意思?什么都不做?它会抛出什么错误?

标签: jquery ajax firefox expressionengine


【解决方案1】:

不确定为什么特定浏览器可能会出现问题,但我确实认为有一种更简洁的方法可以满足您的需求。看看jQuery中的这个函数,取消锚点点击时打开新页面:preventDefault()

有了这个,您可以将路径放在 href 标记中,如果没有其他原因可能会使标记看起来更清晰。除此之外,唯一想到的其他事情可能是锚需要 href 属性(我不认为是这种情况?)或者 FF 3.6 处理 title 属性的方式不同?

【讨论】:

  • 或者只是点击处理程序上的return false;。 +1 使用 href 属性,因为它有助于优雅降级。
  • 天啊! @Phil Brown 返回错误;绝对是去那里的方式,无需过于复杂
猜你喜欢
  • 1970-01-01
  • 2018-02-09
  • 1970-01-01
  • 2011-02-20
  • 1970-01-01
  • 2013-12-07
  • 2011-10-26
  • 2010-09-30
  • 2016-01-04
相关资源
最近更新 更多