`
wzucxd
  • 浏览: 25207 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

a标签中的href,onclick,#,javascript:void简要分析

 
阅读更多

在开发过程中,经常会使用测试1<a href='#' onclick='fun();return false;'/>这种方式来触发javascript事件而不改变当前链接.

或者测试2<a href="javascript:void(0)" onclick="return true;">测试2</a>这种方式来建立死链接。但是只要看过a href=”《javascript:void(0);” — avoid the void》和《How to Create Pop-Up Windows》这2篇文章后就能发现,作者更赞同使用测试1的方式而不是测试2,我也是认同作者的观点。

在web标准中也是不建议使用测试2的方式的,但是测试2javascript:void(0)伪协议也会有bug存在,会使gif动画停止播放。

在测试2的案例中,我们还能看到,点击事件触发的时候(调用顺序:onclick->window.onbeforeunload->href),而测试1却没有,这是因为void运算符在执行之前会调用window.onbeforeunload方法

对于void运算符(void只做运算,返回结果为undefined),所以在调用到href时遇到void运算符的时候,可能就会产生一些bug

但是使用测试1的方式href='#' onclick中加上return false,也会存在问题,导致点击链接页面返回顶部,这是由于#号默认锚点为#top,点击后重新定位到top锚点位置,当然可以自己再重新定义一个top锚点,但是这也不能很好解决问题,仍然也存在定位不准。有些朋友喜欢使用####来替换#(#一般为2到6个,大多都取4个)。无论#几个都是会存在这个bug的,原因同上。

点击链接导致页面返回顶部也可以采用span标签替换a标签来解决,但是还可以不改变标签,只需讲#用#this替换即可解决问题,也可以采用其它锚点

<a href='#this' onclick='fun();return false;'/>

另:当window.onbeforeunload中return false的时候将会有意想不到的收获。提示“确实要离开页面吗?确定...取消...”

分享到:
评论

相关推荐

    网页开发中的jsp分页代码

    outstr = outstr + "&lt;a href='javascript:void(0)' onclick='gotopage("+count+")'&gt;"+count+"&lt;/a&gt;"; }else{ outstr = outstr + "&lt;span class='current' &gt;"+count+"&lt;/span&gt;"; } } } if(totalpage&gt;10){ //总...

    javascript分页效果code

    outstr = outstr + "&lt;a href='javascript:void(0)' onclick='gotopage("+(parseInt((cpage-1)/10)*10)+")'&gt;previous&lt;/a&gt;"; for (count=parseInt(totalpage/10)*10+1;count;count++) { if(count!=cpage) { ...

    悬浮QQ在线

    href="javascript:void(0);"&gt;展开&lt;/A&gt; &lt;A id=aFloatTools_Hide class=btnCtn title=关闭在线客服 onclick="javascript:$('#divFloatToolsView').animate({width: 'hide', opacity: 'hide'}, 'normal',function(){ ...

    标签中的href如何调用js代码.pdf

    html中,在标签中设的href...&lt;a href ="javascript:void(0);" onclick ="js_method()"&gt; &lt;a href = "javascript:;" onclick ="js_method()"&gt; &lt;a href = "#" onclick ="js_method();return false"&gt; 本文使用第二种方式

    自适应宽度的标签导航

    href="javascript:void(0)"&gt;标签一&lt;/A&gt; &lt;LI class=selectTag&gt;&lt;A onClick="selectTag('tagContent1',this)" href="javascript:void(0)"&gt;标签二&lt;/A&gt; &lt;LI&gt;&lt;A onClick="selectTag('tagContent2',this)" href=...

    IE6下javasc#ipt:void(0) 无效的解决方法

    IE 6 下,JSP 中 链接问题: &lt;a&gt; &lt;javascript&gt; function btnHome_onClick(){window.open(“com.mcl.common.main.InitHome.flow”,”mainFrame”);if(winoperate.style.display != “none”){ silde_onClick(); ...

    jquery实现div上下移动

    &lt;a href="javascript:;" onclick="up(this);"&gt;上移&lt;/a&gt; &lt;a href="javascript:;" onclick="down(this);"&gt;下移&lt;/a&gt; 内容一 &lt;a href="javascript:;" onclick="up(this);"&gt;上移&lt;/a&gt; &lt;a href="javascript:;" ...

    a标签的href与onclick事件的区别详解

    onclick中javascript的区别一般没用到都没注意,但出错时才有些郁闷,看文本章解释如下: 以前一直很随意,后来看.net里的linkbutton似乎是用在&lt;a&gt;的形式,今天用这种方式就遇到一些问题,摘网友的文章和我的结论...

    详解a href=#与 a href=[removed]void(0) 的区别

    a href=#&gt; 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP &lt;a&gt; 点击链接后,页面不动,只打开链接 &lt;a&gt; 作用同上,不同浏览器会有差异。 点击链接后,不想使...详解href=#与href=[removed]void(0)的区别 #包

    A标签触发onclick事件而不跳转的多种解决方法

    一个标签仅仅是要触发onclick行为; 2.表现上要有鼠标的pointer指针显示,或者其他类似a标签的视觉效果。 比如执行删除操作时,为了避免误操作,我们要弹出对话框让用户确定是否删除。因此我们经常会用链接&lt;a&gt;&lt;/a&gt;...

    Jquery为a标签的href赋值实现代码

    代码如下: [removed] function doTest(){ var value = $(“input[name=’... } [removed] 要取的INPUT 标签&lt;input name=”dizhi” type=”radio” id=”dizhi” onclick=”doTest()” value=”&lt;?php echo $rsaddr

    详解a标签添加onclick事件的几种方式

    我们常用的在a标签中有点击事件: 1. a href=”[removed]js_method();” rel=”external nofollow” ...2. a href=”[removed]void(0);” rel=”external nofollow” rel=”external nofollow” onc

    javascriptvoid(0)含义以及与”#”的区别讲解

    链接(href)直接使用javascript:void(0)在IE中可能会引起一些问题,比如:造成gif动画停止播放等,所以,最安全的办法还是使用“####”。为防止点击链接后跳转到页首,onclick事件return false即可。 3.如果仅仅...

    jquery A标签onclick事件

    jquery下A标签onclick事件的处理,看看看看看看。

    分享到空间(优化版)

    使用说明 列出所有分享 &lt;a href="javascript:void(0)" class="shareto_button" title="" iu=""&gt;&lt;/a&gt; 调用其它一个分享按钮 &lt;a href="javascript:void(0)" onclick="share_to('qzone','[title]','[url]')"&gt;&lt;/a&gt;

    a标签href属性和onclick事件的比较介绍

    首先说一下, href属性 和 onclick事件 的执行顺序,当鼠标点击a标签的时候会先执行 onclick事件, 然后才是 href 属性下的动作(页面跳转,或 javascript 伪链接),如果不想执行href 属性下的动作执行,onclick ...

    ASP.ENT中应用javascript分页

    &lt;span id="a3"&gt;&lt;/span&gt; &lt;a href="#" onclick="change(--pageno)"&gt;上一页&lt;/a&gt;  &lt;a href="#" onclick="change(++pageno)"&gt;下一页&lt;/a&gt; &lt;/body&gt; &lt;script&gt; var a = document.getElementById("all")....

    A标签中通过href和onclick传递的this对象实现思路

    在blog的后台管理中允许为一个分类添加一个地址,但是不好添加onclick事件。想传递当前对象给一个函数,于是就将这个URL写成”[removed]shoControlSidebar(this)”,可是结果发现这并不可行,传递过去的参数是一个...

    html超链接a标签的href跳转跟onclick之间执行顺序示例介绍

    html超链接a标签的href跳转跟onclick之间执行关系:如果onclick返回false,则a不进行跳转,如果onclick返回true,则a跳转,感兴趣的朋友可以了解下本

    详解Html a标签中href和onclick用法、区别、优先级别

    本文主要分享一篇关于Html A标签中href和onclick用法、区别、优先级别,具有很好的参考价值,有需要了解的朋友可以看看

Global site tag (gtag.js) - Google Analytics