• 超级链接a中javascript:void(0)弹出另外一个框问题


    转字: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动画图片停止播放。

  • 相关阅读:
    Cheatsheet: 2012 03.23 ~ 03.31
    Cheatsheet: 2012 04.13 ~ 04.24
    Cheatsheet: 2012 02.09 ~ 02.29
    Cheatsheet: 2012 03.01 ~ 03.12
    Cheatsheet: 2012 03.13 ~ 03.22
    Cheatsheet: 2012 01.20 ~ 01.31
    Cheatsheet: 2012 04.01 ~ 04.12
    Cheatsheet: 2012 04.25 ~ 05.03
    Cheatsheet: 2012 01.10 ~ 01.19
    1.30
  • 原文地址:https://www.cnblogs.com/wangzhenghua/p/4191869.html
Copyright © 2020-2023  润新知