日期:2014-05-16  浏览次数:20400 次

如何正确利用超链接调用 JavaScript 函数
点击超链接调用 JavaScript 函数,一般人都用:
<a href="javascript:function();">

但这有个缺点,就是点击链接后,页面上的GIF动画将静止。

试看如下代码:
<script type="text/javascript">
<!--
function Foo()
{
    //do something
}
//-->
</script>
<img src="logo.gif" alt="GIF 动画" />
<a href="javascript:Foo();">使 GIF 动画静止的链接</a>

解决方法探讨:
<a onclick="javascript:Foo();">链接</a>

此时不影响动画显示,但鼠标移上去后,鼠标及超链接样式不发生变化,虽然可以利用样式表来改变鼠标及超链接样式,但毕竟有些繁琐,况且这种思路也不好。

再考查如下代码:
<a onclick="javascript:Foo();" href="#">链接</a>

我们可以发现,虽然点击链接后不影响动画显示,但页面总是滚到最上面,这种效果也不是我们想要的。

最终解决方法:
<a onclick="javascript:Foo();return false;" href="#">不影响 GIF 的链接</a>

由于点接链接后,先触发 onclick,再执行 href 属性对应的值,在 onclick 中加上 return false; 中断了执行,所以页面就不会跳到最上部了。