我正在网站上工作,它有几个链接。当我点击链接时,即使浏览器状态栏正确显示目标URL,也没有任何反应。我检查过没有z-index或任何这样的问题(仍然可能遗漏了一些东西)。
以下是该网站的链接 - http://www.deals4all.gr/city.php?ename=athens
在那里,点击“选择城市”框,将显示2个链接。尝试点击其中任何一个。没有用。此外,当我在新选项卡中打开链接或复制粘贴新窗口中的链接时,它工作正常。我在IE,FF和Chrome中检查了这个问题。
任何帮助都将受到高度赞赏。谢谢!
答案 0 :(得分:4)
这是一个JavaScript问题 - 我注意到你的代码是使用Dean Edwards的打包器进行模糊/打包的,所以我将其粘贴到http://jsbeautifier.org并很快发现问题:
jQuery('#guides-city-change').click(function () {
return !jQuery('#guides-city-list').toggle()
});
当您点击链接时,点击事件会冒泡到#guides-city-change
,触发上述处理程序。 toggle()
始终返回调用它的jQuery对象,并且取消!
的对象将始终评估为false
,从而导致return false
,这将取消默认操作该事件最初触发的<a>
。
由于<div>
元素没有默认操作,最简单的解决方案是改为使用event.stopPropagation()
:
jQuery('#guides-city-change').click(function (e) {
jQuery('#guides-city-list').toggle();
e.stopPropagation();
});
旁注:如果您使用打包机进行混淆,请不要打扰。如您所见,它很容易解决。
答案 1 :(得分:1)
链接正常。
问题是导航到
http://www.deals4all.gr/city.php?ename=athens
带您回到主页