网站中的某些特定超链接无法正常工作

时间:2010-11-22 12:04:18

标签: javascript jquery html

我正在网站上工作,它有几个链接。当我点击链接时,即使浏览器状态栏正确显示目标URL,也没有任何反应。我检查过没有z-index或任何这样的问题(仍然可能遗漏了一些东西)。

以下是该网站的链接 - http://www.deals4all.gr/city.php?ename=athens

在那里,点击“选择城市”框,将显示2个链接。尝试点击其中任何一个。没有用。此外,当我在新选项卡中打开链接或复制粘贴新窗口中的链接时,它工作正常。我在IE,FF和Chrome中检查了这个问题。

任何帮助都将受到高度赞赏。谢谢!

2 个答案:

答案 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

带您回到主页