zoukankan      html  css  js  c++  java
  • A标签中 href 和 onclick用法、区别、优先级别

    (内容摘自:https://blog.csdn.net/chenchunlin526/article/details/77346049

    Html A标签中 href 和 onclick 同时使用的问题 优先级别

    1 顺序 
    ie 6 : href 先触发 onclick 后触发 
    其他浏览器 先触发onlick 后触发 href

    2 href="javascript: xxx()" 
    不能传入this作为参数 
    onclick可以

     代码如下 复制代码
    <a href="javascript:alert('href event');" onclick="clickevent(this);">

    3 优先触发的方法如果返回 false 导致后一个事件不被触发 
    比如

     代码如下 复制代码
    <a href="javascript:alert('href event');" onclick="clickevent(this); return false;">


    <a href="#"> 会导致页面定位到书签位置,


    由于 1和 4 的原因 
    在ie6 下 同时有 <a href="#" 和 onclick的时候 由于页面先因为href重新载入了一次,导致 onclick事件被浏览器丢弃。


    6 总结: 
    1) 在不需要传递this作为方法的参数时候,推荐 
    只使用href="JavaScript: "

    2) 如果需要使用this参数,推荐

     代码如下 复制代码
    <a href="javascript:void(0);" onclick="doSomthing(this)" > 

     
    如下面一个列子。
    我们需要A在第一次和第二次点击的时候 访问 href 第3次以后的就访问另一个地址
     

     代码如下 复制代码

    var href=0

    function clicka(obj)
    {
     if (href==2)
     {
      obj.href="http://www.baidu.com?qc";
     }else
     {
      href++;
     }
     return true;
     
    }

     
     
    <a href="http://www.111cn.net/" target=_blank id="showa" onclick="clicka(this)">  开屏高速下载 </a> 

    在a标签的href与onclick中使用javascript的区别 


    链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接); 
    假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,onclick 必须得到一个 false 的返回值。不信,你可以将 goGoogle 函数中的 return false 注释掉; 
    如果页面过长有滚动条,且希望通过链接的 onclick 事件执行操作。应将它的 href 属性设为 javascript:void(0);,而不要是 #,这可以防止不必要的页面跳动; 
    如果在链接的 href 属性中调用一个有返回值的函数,当前页面的内容将被此函数的返回值代替; 
    在按住Shift键的情况下会有所区别。
    今天我遇到的问题,在IE6.0里以href的形式访问不到parentNode。
    尽量不要用javascript:协议做为A的href属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。

  • 相关阅读:
    C#计算两个时间年份月份天数(根据生日计算年龄)差,求时间间隔
    C#四舍五入保留一位小数
    给Editplus去掉.bak文件
    $().each() 与 $.each()解析
    VS 2013+Qt 5.4.1
    HDU 5228 ZCC loves straight flush( BestCoder Round #41)
    产品经理的修炼:如何把梳子卖给和尚
    c++ STL unique , unique_copy函数
    linux定时备份mysql数据库文件
    Python——异常基础
  • 原文地址:https://www.cnblogs.com/rdchen/p/10688604.html
Copyright © 2011-2022 走看看