• javascript:void(0);用法及常见问题解析


    void 操作符用法格式: javascript:void (expression) 

    下面的代码创建了一个超级链接,当用户以后不会发生任何事。当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。 

    <A HREF="javascript:void(0)">单此处什么也不会发生</A> 

    下面的代码创建了一个超级链接,用户单时会提交表单。

    <A HREF="javascript:void(document.form.submit())"> 单此处提交表单</A>

    下面代码则执行了subgo()函数,在这里,javascript:void(0),没启实质上的作用,它仅仅是一个死链接,执行的函数是subgo()。

    <a href="#" onclick="subgo()">点我</a>与<a href="javascript:void(0)" onclick="subgo()">点我</a>区别。
    <a href="javascript:void(0)" onclick="javascript:history.back();">返回 </a>

    href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。而javascript:void(0) 仅仅表示一个死链接,没有任何信息。所以调用脚本的时候最好用void(0)

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

    href="#"方法其实也是空连接的意思,但是点击之后会自动跳转到页面的最上面,因为用了这个方法就相当于点击了一个锚记,但是这个锚记又没写ID,所以就默认跳转到页面顶部。从上面的例子也可以看出,当要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。


    其实我们可以这样用,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。

    说白了,href="#"这种形式会整体刷新页面,而href="javascript:void(0)" 则不会。所以如果是空连接的话,还是推荐javascript:void(0)。

    href = "#"当页面有滚动条时,点击后会返回到页面顶端的解决办法

    1、点击链接后不做任何事情 

    <a href="javascript:void(0);" >test</a> 
    <a href="javascript:;" >test</a> 
    <a href="####" >test</a> //使用2个到4个#,见的大多是"####",也有使用"#all"等其他的 

    2、点击链接后,响应用户自定义的点击事件

    <a href="javascript:void(0)" onclick="doSomething()">test</a> 
    <a href="#" onclick="doSomething();return false;">什么问题都解决了,包括浏览器不兼容问题</a> //或者直接使用href="" 
    <a href="#" onclick="alert();event.returnValue=false;">test</a> 

    使用javascript:void(0)会引起什么问题?

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

    解决IE下使用javascript:void(0)方法会跳转的方法

    使用return false;可以阻止javascript:void(0)去执行。
    使用target="_self"可以阻止会跳转到其他页面,因其是空函数,则不会发生页面刷新。

    <a href="javascript:void(0)" title="关闭" onclick="delbook();return false;">关闭</a>
    <a href="javascript:void(0)" target="_self" title="关闭" onclick="delbook();">关闭</a>  //与下面等价
    <a href="javascript:delbook()" target="_self" title="关闭">关闭</a>

    JS的几种跳转方式:

    1.

    window.open(”url“) 

    2.用自定义函数

    <script> 
    function openWin(tag,obj) 
    { 
    obj.target="_blank"; 
    obj.href = "Web/Substation/Substation.aspx?stationno="+tag; 
    obj.click(); 
    } 
    </script> 
    <a href="javascript:void(0)"onclick="openWin(3,this)">点我</a>

    3.

    window.location.href='';

    参考: W3Cschool -javascript:void(0);用法及常见问题解析

  • 相关阅读:
    Hibernate关系映射(一) 基于外键的单向一对一
    Hibernate开发环境搭建
    Java创建和读取Json
    Json 简易教程
    jQuery Validate验证框架详解
    asp.net Core 3.1配置log4net
    HTTP 错误 500.21
    SQL中数据库 无法访问,并且数据库的属性中 使用人数、大小、可用空间全是不可用
    What is a CGFloat?
    Swift中的CGPoint ,CGSize 、CGRect、CGFloat
  • 原文地址:https://www.cnblogs.com/guorange/p/7128083.html
Copyright © 2020-2023  润新知