a标签的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了a标签的使用相关的知识,希望对你有一定的参考价值。

参考:http://wenku.baidu.com/view/c7d5e8b465ce0508763213aa.html

http://blog.163.com/[email protected]/blog/static/1013632822012112794028742/

 

  a标签经常用来跳转使用,经常出现的问题罗列如下:

问题一:点击a标签后页面会回到页面的顶部,

  原因分析:代码如下

<a href="#" onclick="go(...);">跳转</a>

   “#”是标签内置的一个方法,代表跳转到Top的作用

  解决方案:替换“#”号为“###”,或者是在onclick中添加“rerurn false;”  改为如下代码

<a href="###" onclick="go(...);">跳转</a>
<a href="#" onclick="go(...);return false;">跳转</a>

问题二:页面假死(gif动画暂停等)或者  页面触发window.onbeforeunload事件

  原因分析:代码如下

<a href="javascript:go(...);" >跳转0</a>

  javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

  解决方案:

<a href="javascript:void(0);" onclick="go(...);">跳转2</a>

 

问题三:获取不到event对象和window.event对象

  原因分析:代码如下

<a href="javascript:go(...);" >跳转0</a>

这里的go函数是获取不到event对象和window.event对象的,可能是javascript:协议和事件的机制不一样没有默认触发事件参数

  解决方案:代码如下

<a href="javascript:void(0);" onclick="go(...);">跳转2</a> 

  用onclick事件代替href调用

 

总结:

推荐写法:

<a href="javascript:void(0);" onclick="goUrl(‘http://www.baidu.com‘);return false;">跳转3</a>
<a href="#" onclick="goUrl(‘http://www.sina.com‘);return false;">跳转5</a> <a href="###" onclick="goUrl(‘http://www.sina.com‘);">跳转6</a>

 

 

有兴趣的同学可以看下我的测试代码

测试代码如下

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>测试用</title>
</head>
<body>
    <div style="height: 1000px;width: 200px;background-color: green;"></div>
    <a href="javascript:goUrl(this);" >跳转0</a>
    <a href="javascript:;" onclick="goUrl(‘http://www.sina.com‘);">跳转1</a> 
    <a href="javascript:void(0);" onclick="goUrl(‘http://www.sina.com‘);">跳转2</a> 
    <a href="javascript:void(0);" onclick="goUrl(‘http://www.sina.com‘);return false;">跳转3</a>
    <a href="#" onclick="goUrl(‘http://www.sina.com‘);">跳转4</a>
    <a href="#" onclick="goUrl(‘http://www.sina.com‘);return false;">跳转5</a>
    <a href="###" onclick="goUrl(‘http://www.sina.com‘);">跳转6</a>

<script type="text/javascript">
    function goUrl(x){     
        var e = event || window.event;
        window.location.href=x;     
    }
    window.onbeforeunload=function(){
        alert(‘before‘);
    }
</script>
</body>
</html>

 

以上是关于a标签的使用的主要内容,如果未能解决你的问题,请参考以下文章

操作栏标签片段中的片段?

分享前端开发常用代码片段

动态 Rstudio 代码片段

几条jQuery代码片段助力Web开发效率提升

在哪里以及如何使用片段填充我的标签

Android中切换标签片段之间的延迟