我正在使用JavaScript对HTML超链接上的表进行排序:
这种从低到高:
<a id="asc" href="#" onclick="javascript:sort('asc');">Low</a>
它在Firefox / Chrome / Safari中运行良好,但在IE6中不起作用。
点击排序“高”或排序“低”链接。
知道为什么它适用于除IE6之外的所有浏览器吗?
根本原因似乎是IE6没有将光标箭头改为小手,因此超文本甚至可以点击。现在,当我将鼠标悬停在IE6的链接上时 - 排序链接甚至无法点击
此外,我的页面通过了w3 validation,所以这不是问题
答案 0 :(得分: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结束时返回false。如果JS成功,则停止访问href。有关该主题的进一步讨论,请参阅this SO帖子。
编辑:
现在您在关于手/光标的问题中提供了其他信息:
如果光标在悬停时没有变为手,这表明你有一些无效的HTML,并且IE6无法以你期望的方式解析页面。您是否尝试过通过HTML验证程序运行它?试试http://validator.w3.org/。
答案 1 :(得分:1)
不确定您是否反对使用jquery,但它往往会解决许多这些跨浏览器的不兼容问题。
只是一个想法。
但是,只是为了补充Matt的说法,你可以尝试这个选项(它通常适用于IE):
<a id="asc" href="javascript:displayHomeListings('asc'); void(0);">link</a>
(请记住,对于没有javascript的用户来说它不起作用......它不会做任何事情......)