`

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

分享到:
评论
2 楼 youyougulin 2011-01-10  
由于点接链接后,先触发 onclick,再执行 href 属性对应的值,在 onclick 中加上 return false; 中断了执行,所以页面就不会跳到最上部了。

楼主的这句代码还解决了我超链接调用脚本刷新本页面的bug,然后 也可以写成 href="void(0);"也不会让页面跑到最顶端
1 楼 beijing2009 2010-06-16  
还有一种方法
你可以将超链接和href属性改成href="####"
这样不仅能调用js代码
不影响gif动画效果
也不会跳到页面的top

相关推荐

Global site tag (gtag.js) - Google Analytics