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>
时间: 2024-10-03 21:54:22

a标签的使用的相关文章

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,

HTML5新增Canvas标签及对应属性、API详解(基础一)

知识说明: HTML5新增的canvas标签,通过创建画布,在画布上创建任何想要的形状,下面将canvas的API以及属性做一个整理,并且附上时钟的示例,便于后期复习学习!Fighting! 一.标签原型 <canvas width=”1000” height=”1000” id=”myCanvas”> 您的浏览器版本过低,不支持HTML5新增的canvas标签. </canvas> 使用js获取该画布,并指定对象 <script> Var canvasID = doc

HTML5之标签(二)

标签 描述 <!--...--> 定义html注释. <!DOCTYPE> 定义文档类型. <a> 定义锚和超链接. <abbr> 定义缩写. <address> 定义文档作者或拥有者的联系信息. <area> 定义图像映射内部的区域. <article> 定义文章. <aside> 定义页面内容之外的内容. <audio> 定义声音(音频)内容. <b> 定义粗体字. <bloc

HTML5之标签(一)

HTML标签分为块级元素和行内元素. 行内元素和块级元素区别 1.块级元素会独占一行,其宽度自动填满其父元素宽度:行内元素不会独占一行,相邻的行内元素会排列在同一行里,直到一行排不下,才会换行,其宽度随元素的内容变化而变化 2. 块级元素可以设置 width, height属性:行内元素设置width,  height无效 3. 块级元素可以设置margin 和 padding:行内元素的margin 和 padding在水平方向有效,竖直方向无效 4.行内元素和块级元素转换,通过设置CSS的d

第2天:HTML常用标签

今天学完主要对所学知识点进行了整理. 一.超链接ahref:www.baidu.com(跳转页面):id名(锚点跳到相应div位置):01.rar(压缩包) target:_blank(新窗口打开):_self(当前窗口打开)二.文件路径绝对路径:(1)线上:线上绝对路径(2)线下:完整路径 相对路径:src=../img/bg.jpg(../是上一级目录) 三.HTML常用标签section :版块 用于划分页面上的不同区域,或者划分文章里不同的节 header :页面头部或者版块(secti

frameset标签设计页面

重要事项:不能将 <frameset></frameset> 标签放在<body></body> 标签里.且 HTML5 已经不支持 frameset 标签的使用!!! 1.frameset 元素可定义一个框架集,它被用来组织多个窗口(框架).每个框架存有独立的文档.配合<frame></frame>框架的使用,我们可以对页面进行分割,局部刷新.合理的使用会给用户带来非常好的体验效果. 2.frameset 的几个属性: ①.cols

使用原生JavaScript实现对select增加option标签并附加value属性

好久没有写原生的东西了,今天写了一个小项目里面包含着option选项,所以我决定使用原生JavaScript动态生成, 本着互联网分享精神,我将本篇文章分享给大家. html代码(就是一个select) <select name="" id="reg-select"></select> json数据 var json = [ { "cc": "86", "code": "C

&lt;table&gt;标签总结(colspan跨列 ,rowspan跨行)

table标签有些内置属性要设置: <table cellpadding="0" cellspacing="0" border="0" summary="各银行的网上银行支付限额总表"> 1.摘要summary的内容是不会在浏览器中显示出来的.它的作用是增加表格的可读性(语义化), 使搜索引擎更好的读懂表格内容,还可以使屏幕阅读器更好的帮助特殊用户读取表格内容. 2.

java的基础标签

跨行业进入IT,感觉就像学习一门外语,基础标签就像英语中的单词是的,现在只会一个个单词,不会说话的感觉,痛苦呀. 1.文本格式控制标签 <font color="文本颜色" size="字体大小" face="什么字体">文本内容</font> <b></b>   字体加粗 <i></i>     字体倾斜  <em></em>强调,语气加强用 <

phpcms ——模板标签详细使用说明

使用phpcms总是要查询各种标签,实在很烦,只好找个比较全的来备查.因为自己写一个orm来配合调用也没那么容易无缝的嵌入到引擎当中. 获取父分类下面的子分类 {loop subcat(77) $k $v}{php $subcatid[] = $k;}{/loop}<?php $subcatid = implode(',', $subcatid);?>  结果可以用在sql 的in子句中 {template "content","header"} 调用根