转字:http://my.oschina.net/castusz/blog/68186

结果在IE、Firefox、Chrome都是先执行的onclick事件,在项目中我们尽量不要同时使用这两种方式。

A标签的写法

我们比较熟悉的链接<a>标签写法有以下3种:

1.<a href="链接地址" ></a>

或者

2.<a href="#" onclick="触发一个事件的函数"></a>

或者

3.<a href="javascript:void(0);" onclick="触发一个事件的函数"></a>

下面开始说一下不同浏览器中<a>标签的兼容性。

对于firefox 而言,3种写法都是可以的,基本没有什么区别。

而对于IE浏览器或者IE内核的浏览器而言则不同:这不同主要体现在第2和3这二种写法上。

先说一下第3种IE内核有时候会不认  href="javascript:void(0);" 因而触发不了事件函数,导致点击没有任何反应。

那为什么会这样呢?

原因是这样的:IE内核的浏览器,识别<a>标签的时候,先去找  href  属性,并且先执行href中的链接或者函数,如果不识别就不做任何反应[IE最新版已经修改这个问题了]。

       解决方法就是尽量不用这个 href="javascript:void(0);" 的属性。

       然后第2种,这个不同主要体现在主页面嵌入iframe的时候,如果你的<a >标签中的 “href” 属性为 “#”的话,你点击链接时,页面会自动的滚动,直到iframe的顶部成为当前窗口的最顶部,解决这个问题的方法:

       把<a>换成<span >或者别的标签 (在不影响样式的前提下)。

注意:尽量不要用javascript:协议做为A的href属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。

超级链接a中javascript:void(0)弹出另外一个框问题的更多相关文章

  1. 转:js中javascript:void(0) 真正含义

    from:http://www.jb51.net/article/71532.htm 在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值. 我想使用过ajax的都常 ...

  2. JS中javascript:void(0)真正含义

    对于下面的代码,其中void(0)的含义是什么? <a href="javascript:Test();void(0);">hello</a> 其实,Jav ...

  3. JavaScript中“javascript:void(0) ”是什么意思

    来源: <a href="javascript:test();void(0);">here</a> 此处:Javascript中void是一个操作符,该操作 ...

  4. js中 javascript:void(0) 用法详解

    点击链接不做任何事情: <a href="#" onclick="return false">test</a> <a href=& ...

  5. 链接<a href="javascript:void(0)" />

    1.<a href="#"></a>——点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP 2.<a href="javascript ...

  6. javascript:void(0)和javascript:;的用法

    一.JavaScript:void(0) 我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢 ...

  7. javascript:void(0)知多少

    在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶 ...

  8. javascript:void(0) 含义

    javascript:void(0) 含义 我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思 ...

  9. javascript:void(0)的问题

    最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅. 注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明. 在做页面时,如果想做 ...

随机推荐

  1. ListView实现Item上下拖动交换位置 并且实现下拉刷新 上拉加载更多

    ListView实现Item上下拖动交换位置  并且实现下拉刷新  上拉加载更多 package com.example.ListViewDragItem; import android.app.Ac ...

  2. Unity3D The Blacksmith Demo部分内容学习

    1.Plane Reflection 平面反射 在角色包的例子里可以看到,该脚本使用一个特定的相机渲染反射内容 官方介绍说这是优于反射探头的一种做法 2.HairRenderer 毛发渲染器 单独写的 ...

  3. mac攻略(四) -- brew使用

    1.介绍 brew是一个mac新用户需要了解的必备命令,它是mac下的软件包管理软件,类似centos下的yum.ubuntu下的apt-get,免去了自己手动编译安装的不方便. 很多时候作为一个用户 ...

  4. python(九)re模块

    python中re模块提供了正则表达式相关操作. 1. 字符串匹配: .    匹配除换行符以外的任意字符 \w 匹配字符或数字或下划线或汉字 \s  匹配任意空白字符 \d 匹配数字 \b 匹配单词 ...

  5. Android官方数据绑定框架DataBinding

    数据绑定框架给我们带来了更大的方便性,以前我们可能需要在Activity里写很多的findViewById,烦人的代码也增加了我们代码的耦合性,现在我们马上就可以抛弃那么多的findViewById. ...

  6. Flowplayer-Embedding

    SOURCE URL:https://flowplayer.org/docs/embedding.html Embedding Video embedding is an act where the ...

  7. android 常见的泄漏内存方法和 leakcanary 使用方法

    虽然VM接管了内存分配和回收,但是人类在解决问题的同时也会重新创造出一些新的问题,所以问题永远都解决不了,就产生各种稀奇古怪的就业机会了(跑题跑不停). 无论各种VM用什么算法管理内存, 造成内存泄漏 ...

  8. 【转】对硬盘进行分区时,GPT和MBR区别。

    在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...

  9. python文件和目录操作方法大全(含实例)

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...

  10. linux下route命令使用实战

    配置路由表: 第一步: sudo route add -net 172.30.6.0 netmask 255.255.255.0 eth0 执行后可以使用命令route -n查看,查看内容如下: 17 ...