Home > Web Front-end > JS Tutorial > body text

Introduction to the use of javascript:; and javascript:void(0)

高洛峰
Release: 2017-01-24 14:06:34
Original
1139 people have browsed it

I have recently read several posts about the tag and javascript: void(0), so keep them in mind for reference.
Note: The following code has not been fully tested, but the possible situations of each method are basically explained.
When making a page, if you want to do nothing after clicking a link, or complete other things in response to the click, you can set its attribute href = "#". However, there will be a problem with this, that is, when the page has When scrolling, clicking will return to the top of the page, which is a bad user experience.

There are currently several solutions:

1) Do nothing after clicking the link

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

2) After clicking the link, respond to the user-defined click event

<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>
Copy after login

Explanation:

1.javascript: void(0) pseudo-protocol, it is better to write less, if you have read some web standard books You know why. (I don’t understand, I’ve excerpted the original words, so I’ll record them for now)
2. Directly using javascript for links (href): void(0) may cause some problems in IE, such as causing the gif animation to stop playing, etc., so, The safest way is to use "
#". To prevent jumping to the top of the page after clicking the link, the onclick event can return false.

3. If you just want to move the mouse over and change it into a hand shape, you can use


Click Me!

void is the operator of javascript, which means: only the expression is executed, but there is no return value. The usage format of

void operator is as follows:

javascript:void (expression) 
javascript:void expression
Copy after login


In order to have a good program style, it is recommended to use the second type with parentheses
We can use the void operator to specify a hyperlink, such as javascript: void(document.form.submit()). The expression is evaluated but nothing is loaded into the current document. void(0) evaluates to 0 but has no effect on JavaScript, i.e.
.
The key is to know that void is the operator of javascipt itself. It means that only the expression is executed, but there is no return value!

In addition, the page will automatically return to the top because the default aiming point position of "#" is top, so this happens.

Continue to explain


I think this code is common among those who have used ajax:
here< ;/a>

But what does void(0) here mean?

void in Javascript is an operator, which specifies that an expression is to be calculated but does not return a value.

The void operator usage format is as follows:


1. javascript:void (expression)

2. javascript:void expression

expression is a Javascript standard to be calculated expression. The parentheses outside the expression are optional, but are a good practice to write. (Implementation version Navigator 3.0 )

You can use the void operator to specify a hyperlink. The expression will be evaluated but nothing will be loaded into the current document.

The following code creates a hyperlink that will cause nothing to happen to the user later. When the user links, void(0) evaluates to 0, but has no effect on the Javascript.

Nothing will happen here

The following code creates a hyperlink for the user The form will be submitted when the order is placed.

Submit form here

a href=#with a href =javascript:void(0) Several ways to distinguish links

#Contains a location information

The default anchor is #top, which is the top of the webpage

And javascript:void(0) only represents a dead link

This is why sometimes the page is very long and the browsing link is obviously#is

jumps to the top of the page

And javascript :void(0) is not the case

So when calling the script, it is best to use void(0)

or

, etc.


Several ways to link

1.window.open(''url'')

2.Use custom function

<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>
window.location.href=""
Copy after login

## #

href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。

当然我们一般用三个 href="###",不过看了这篇文章我们以后就可以使用javascript:;(一个冒号一个分号)

javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

javascript:;好些,javascript:void(0);据说某些情况下有浏览器兼容bug。(此点bug我也不知道什么时候能出现,知道的童鞋请指教)。

可以写成javascript:;,qq空间很多都是写成javascript:;
我感觉这两者之间没有什么差别,都是执行一个空事件。
javascript:;甚至少了7个字符,呵呵。

新浪微博写的是javascript:void(0);

我以前一直写的是javascript:void(0);但是现在写的都是javascript:;

a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP
点击链接后,页面不动,只打开链接
作用同上,不同浏览器会有差异。

点击链接后,不想使页面滚到页首,就用href="javascript:void(0)",不要用href="#",return false也有类似作用

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

"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者


打开新窗口链接的几种办法
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)">LINK_TEST</a>
Copy after login

window.location.href=""

如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:
1:

2:
3:
4:
5:(好像在FF中不能显示)

慎用JavaScript:void(0)
今天调试CGI的时候,明明CGI程序已经执行,并且最后结果也是正确的,但是页面就是不刷新。在FireFox2.0下测试,结果却是正常的,IE6却偏偏不刷新!仔细调查了一下,发现cgi页面链接的是 only a sample ,问题就出在这个void(0)上!让我们先来看看JavaScript中void(0)的含义:
JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression_r_r)
2. javascript:void expression_r_r
expression_r_r是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。我们可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
单击此处什么也不会发生
也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。
其实我们可以这样用,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),:) ,所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。
 

When using javascript, we usually use a pseudo link similar to:
submit
To call the javascript method. One problem with this method is:
Although the page will not jump when you click the link, the scroll bar will scroll up. The solution is to return a false.
As shown below :
Submit

You can also use


a href="javascript:void(0)" onclick="javascript:method;return false;"Submit

javascript:void(0) will not jump up:)


Another method is #this

a href="#this" onclick="javascript:method"

For more articles related to the use of javascript:; and javascript:void(0), please pay attention to the PHP Chinese website! ###
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!