【问题标题】:IE6: JavaScript hyperlink not workingIE6:JavaScript 超链接不起作用
【发布时间】:2011-07-22 17:35:35
【问题描述】:

我正在使用 JavaScript 对 HTML 超链接上的表格进行排序:

这种从低到高的排序:

<a id="asc" href="#" onclick="javascript:sort('asc');">Low</a>

它在 Firefox/Chrome/Safari 中运行良好,但在 IE6 中无法运行。

Live site here.

点击排序“高”或排序“低”链接。

知道为什么它可以在除 IE6 之外的所有浏览器中运行吗?

根本原因似乎是IE6没有将光标箭头更改为小手,以便超文本甚至可以点击。现在,当我将鼠标悬停在带有 IE6 的链接上时 - 排序链接甚至无法点击

另外,我的页面通过了w3 validation,所以这不是问题

【问题讨论】:

  • 因为它是IE6...现在...如果它工作,那将是令人困惑的!

标签: javascript html internet-explorer internet-explorer-6


【解决方案1】:

试试:

<a id="asc" href="javascript:void(0)" onclick="displayHomeListings('asc');">

或者

<a id="asc" href="#" onclick="displayHomeListings('asc');">

理想情况下,如果在用户浏览器上禁用 JavaScript,您的点击仍然会执行一些合理的操作。在这种情况下,

<a id="asc" href="failsafe.html" onclick="displayHomeListings('asc'); return false;">

注意 onclick 结束时的 return false。如果 JS 成功,则停止访问 href。有关该主题的进一步讨论,请参阅thisSO 帖子。

编辑:

现在在关于手/光标的问题中提供您的其他信息:

如果悬停时光标没有变成手形,这表明您有某种无效的 HTML,并且 IE6 无法按您期望的方式解析页面。您是否尝试过通过 HTML 验证器运行它?试试http://validator.w3.org/

【讨论】:

  • 不,不能解决问题。奇怪的是,在 IE6 中,光标悬停在链接上时仍然是一个箭头,并且永远不会变成一只小手。就像 IE6 甚至不知道它是一个链接
  • 进行了编辑 - 也许尝试使用 # 的第二个用例?请注意,我没有 javascript: 在 onclick 字符串中。
  • 我手边没有 IE6 浏览器,我通常也不会在不知道它们背后的内容的情况下访问 tinyurl,但 IE6 可能在 JS displayHomeListings() 甚至其他地方失败。 JS 比新的浏览器更脆弱。
  • 不。我已经尝试了所有 3 个选项。没有工作。同样的问题,IE6 不会将光标更改为“手”。好像 IE6 不知道超链接的存在。
  • 我之前假设你所拥有的只是一个 sn-p - 因为否则它不是一个有效的标签(没有结束 A,或链接的文本)。如果 HTML 无效,IE6 可能会对此感到不满。
【解决方案2】:

不确定您是否反对使用 jquery,但它往往会解决很多这些跨浏览器不兼容的问题。

http://jquery.com

只是一个想法。

但是,为了补充马特所说的内容,您可以尝试这个选项(它通常在 IE 中有效):

<a id="asc" href="javascript:displayHomeListings('asc'); void(0);">link</a>

(请记住,它不适用于没有 javascript 的人......它不会做任何事情......)

【讨论】:

  • 不行。根本问题是IE6没有把光标箭头改成小手,这样超文本就可以点击了。
  • OHHHH... 这可能是 CSS 问题。 IE6 在 CSS 方面是出了名的糟糕。确保没有覆盖链接的position:absolute 元素。我以前也遇到过这个问题。事实上,我想我之前已经回答过一个关于 SO 的问题。
  • 可能是你的tabbernav 元素。
  • @KyleFarris,我发现了问题,但不知道如何解决。我在#listingTabs 元素上有一个margin-top: -16px。当我删除这个负上边距时,现在一切正常。但是,我现在如何让排序链接与选项卡水平对齐?
  • @Matt:将margin-top 放回原处,但将元素明确更改为position:relative,然后将z-index 设置为非常高的值,例如z-index:100;。看看有什么作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 2012-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-14
相关资源
最近更新 更多