首页 > 编程语言 >a href=#与 a href=javascript:void(0)的区别?

a href=#与 a href=javascript:void(0)的区别?

时间:2023-09-07 12:31:31浏览次数:46  
标签:void javascript href div 链接 页面


一个<a>链接的按钮可在该窗口上弹出一个div悬浮层。但是每次点击,div悬浮层就自动位于IE窗口的顶端,下面的iframe窗口包含的页面会自动上移,位置错乱了。

href='#' οnclick='click事件名()'></a>这里的href='#'的原因,把它改成三个#就没问题了,即修改为<a href='###'

      嘿,还真好了。后来网上搜了一下估计是: 


     #包含了一个位置信息

     默认的锚点是#top 也就是网页的上端

   方法一:  所以为了避免这个位置问题有的人提倡采用的方式是javascript:void(0)  来表示一个死链接。

   方法二:  但是也有的人不提倡采用这种方式,看这篇文章:a href=”javascript:void(0);” — avoid the void大概就明白啥回事了,^_^   


<a href="#" οnclick="doSomething();returnfalse;">Link</a>


    或者

 


<script type="javascript">
    function doSomething() {
      //doSomething
     returnfalse;
   }
   </script>
   <a href="#" οnclick="return doSomething();">Link</a>


    以往大家不使用"#"的问题是,这将导致点击链接时页面跳回页面顶部,但通过 return false 语句将使得浏览器忽略链接的默认动作,从而避免了此问题。

   我想为何同事要用三个#,大概也是让#包含的位置信息失去效果,但为何用三个而不是二个或四个之类的,就不太清楚了。下次有空再测一下。。。知道答案的朋友就给个评论里吧。先道声:谢谢了

  

标签:void,javascript,href,div,链接,页面
From: https://blog.51cto.com/u_2544485/7395977

相关文章

  • Javascript 中对HTML编码和解码的方法
    String.prototype.HTMLEncode=function(){vartemp=document.createElement("div");(temp.textContent!=null)?(temp.textContent=this):(temp.innerText=this);varoutput=temp.innerHTML;temp=null;returnoutput;}String.prot......
  • 无涯教程-JavaScript - BESSELJ函数
    描述BESSELJ函数返回贝塞尔函数Jn(x)。语法BESSELJ(X,N)争论Argument描述Required/OptionalXThevalueatwhichtoevaluatethefunction.RequiredNTheorderoftheBesselfunction.Ifnisnotaninteger,itistruncated.RequiredNotes如果x为非数值,......
  • 无涯教程-JavaScript - BESSELI函数
    描述BESSELI函数返回修改后的Bessel函数In(x),该函数等效于针对纯虚参判断的Bessel函数。语法BESSELI(X,N)争论Argument描述Required/OptionalXThevalueatwhichtoevaluatethefunction.RequiredNTheorderoftheBesselfunction.Ifnisnotaninteger,......
  • 无涯教程-JavaScript - WEEKDAY函数
    描述WEEKDAY函数返回与日期相对应的星期几。缺省情况下,日期以整数形式给出,范围从1(星期日)到7(星期六)语法WEEKDAY(serial_number,[return_type])争论Argument描述Required/OptionalSerial_number一个序号,代表您要查找的日期。应该使用DATE函数或其他公式或函......
  • 无涯教程-JavaScript - TODAY函数
    描述TODAY函数返回当前日期的序列号。序列号是Excel用于日期和时间计算的日期时间代码。如果在输入函数之前单元格格式为"常规",Excel会将单元格格式更改为"日期"。如果要查看序列号,必须将单元格格式更改为"常规"或"数字"。语法TODAY()争论TODAYFunction语法没有参数。......
  • 使用JavaScript计算两点经纬度之间的弧线点经纬度数组
    前言地球是一个近似于椭球体的三维物体,因此在计算两个经纬度点之间的距离时,不能简单地将其视为平面上的直线距离。相反,我们需要考虑地球的曲率,并使用球面三角法来计算两点之间的弧线距离及其中的插值点。通过本篇博客,我们将使用JavaScript来实现根据两个经纬度点返回两点之间的弧......
  • JavaScript--查找当前节点的父节点
    consttreeData=(item)=>{if(item.parent&&item.parent.length>0){let_parent=data.taskData.filter((data)=>data.id==item.parent);if(_parent&&_parent.length>0){if(da......
  • 无涯教程-JavaScript - TIMEVALUE函数
    描述TIMEVALUE函数返回由文本字符串表示的时间的十进制数。十进制数字是一个介于0(零)到0.99988426之间的值,代表从0:00:00(12:00:00AM)到23:59:59(PM11:59:59)的时间。语法TIMEVALUE(time_text)争论Argument描述Required/OptionalTime_textAtextstringthatre......
  • 无涯教程-JavaScript - SECOND函数
    描述SECOND函数返回时间值的秒数。第二个数字以0(零)到59之间的整数形式给出。语法SECOND(serial_number)争论Argument描述Required/OptionalSerial_number您想找到包含秒数的时间。时间可以输入为-引号内的文本字符串(如"6:45PM")十进制数(如0.78125,代表......
  • .NET 序列化生成 JavaScriptSerializer Poc
    dot.NET安全矩阵星球群有位师傅问起如何才能生成和ysoserial一样的JavaScriptSerializer序列化poc,同Json.NET一样序列化使用了ObjectDataProvider类,ObjectInstance属性绑定实例化的Process对象,这里没有使用MethodParameters属性传递参数,而是使用ProcessStartInfo类FileName和Argum......