如何正确利用超链接调用 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; 中断了执行,所以页面就不会跳到最上部了。