Introduction to javascript:; and javascript: void (0)

Source: Internet
Author: User
Sometimes we need to trigger an event without returning a value during js writing, so we may need to write this code and read several posts about tags and javascript: void (0) recently, keep this in mind for asset reference.
Note: The following code is not fully tested, but the possible situation of each method is basically described.
When you do a page, if you want to do nothing after clicking a link, or respond to the click to complete other tasks, you can set its property href = "#", however, in this case, when a page has a scroll bar, clicking it will return to the top of the page, and the user experience is poor.

There are currently several solutions:

1) do not do anything after clicking the link

Testtesttest // use 2 to 4 #. For details, refer to "#####" and use "# all" and other

2) click the link to respond to user-defined click events

Test solves all problems, including browser incompatibility. // or you can directly use href = "" test

Note:

1. javascript: the pseudo-Protocol void (0) is rarely written. If you have read some standard web books, you will know why. (Do not understand, the original words are extracted, and the record is made for now)
2. the direct use of javascript: void (0) by Link (href) in IE may cause some problems, such as: causes the GIF animation to stop playing. Therefore, the safest way is to use "####". To prevent the link from jump to the top, The onclick event return false.
3. You can use

Click Me!

Void is a javascript operator that only executes expressions but does not return values,
The format of the void operator is as follows:

javascript:void (expression) javascript:void expression

We recommend that you use the second type with parentheses for a good program style.
We can use the void operator to specify the hyperlink, such as javascript: void (document. form. submit ()). The expression is calculated, but it does not load any content in the current document. void (0) is calculated as 0, but it has no effect on JavaScript. That is to say, the effect is the same.
The key is as long as you know that void is the operator of javascipt itself, it indicates that only expressions are executed, but no return value is returned!
In addition, the page is automatically adjusted back to the top because "#" is the top position by default, so this situation occurs.

Continue explanation

I want to use the following common ajax code:
Here
But what does void (0) mean?

In Javascript, void is an operator that specifies to calculate an expression but does not return a value.

The format of the void operator is as follows:

1. javascript: void (expression)
2. javascript: void expression

Expression is a standard Javascript expression to be calculated. Parentheses outside the expression are optional, but it is a good habit to write them. (Implement version Navigator 3.0)

You use the void operator to specify the hyperlink. The expression is calculated, but no content is loaded in the current document.

The following code creates a hyperlink that will not happen to users in the future. When a user links, void (0) is calculated as 0, but Javascript has no effect.

Nothing happens here.

The following code creates a hyperlink. A form is submitted when a user opens a ticket.

Submit a form here

A href = # several methods to differentiate connections with a href = javascript: void (0)

# Contains a location information

The default anchor is # top, that is, the top of the web page

Javascript: void (0) only indicates a dead link.

This is why sometimes a long page browsing link is clearly # Yes

Beat to top

This is not the case with javascript: void (0 ).

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

Or

And so on

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

2. Use udfs

Script function openWin (tag, obj) {obj.tar get = "_ blank"; obj. href = "Web/Substation. aspx? Stationno = "+ tag; obj. click ();}" script "Zhuzhou window. location. href = ""


Href = "#", which contains a location information. The default anchor is # top, that is, the top of the webpage. When you click this link continuously and quickly, the browser slows down or even crashes.

Of course, we generally use three href = "###", but after reading this article, we can use javascript:; (a colon and a semicolon)

In javascript, void is an operator that specifies to calculate an expression but does not return a value.

Javascript:; better, javascript: void (0); it is said that there are browser compatibility bugs in some cases. (I don't know when the bug will appear here. Please advise if you know it ).

Javascript:;. Many QQ spaces are written as javascript :;
I feel that there is no difference between the two. They all execute an empty event.
Javascript:; or even seven characters are missing.

Sina Weibo writes javascript: void (0 );

I used to write javascript: void (0); but now I write javascript :;

A href = "#"> after clicking the link, the page will be rolled up to the TOP, # The default anchor is # TOP
After clicking the link, the page does not move and only opens the link
Different browsers have different functions.

After clicking the link, if you do not want to roll the page to the top, you can use href = "javascript: void (0)" instead of href = "#". return false also plays a similar role.

Details about the differences between href = "#" And href = "javascript: void (0 )"

"#" Contains a location information
The default anchor is # top, that is, the top of the web page.
Javascript: void (0) only indicates a dead link.
This is why sometimes a long page browsing link is clearly # But the page jumps to the top
This is not the case with javascript: void (0 ).
Therefore, it is best to use void (0) when calling the script)
Or

And so on
How to open a new window Link
1. window. open ('url ')
2. Use udfs

        《script》        function openWin(tag,obj)        {            obj.target="_blank";            obj.href = "Web/Substation/Substation.aspx?stationno="+tag;            obj.click();        }        《script》LINK_TEST

Window. location. href = ""

If it is a #, it will jump to the top of the situation, personal collections of several solutions:
1:
2:
3:
4:
5: (it seems that it cannot be displayed in FF)

Use JavaScript with caution: void (0)
When debugging CGI today, it is clear that the CGI program has been executed and the final result is correct, but the page is not refreshed. The test results in FireFox2.0 are normal, but IE6 is not refreshed! After careful investigation, we found that the cgi page is linked to only a sample, and the problem lies in the void (0! Let's take a look at the meaning of void (0) in JavaScript:
In JavaScript, void is an operator that specifies to calculate an expression but does not return a value.
The format of the void operator is as follows:
1. javascript: void (expression_r_r)
2. javascript: void expression_r_r
Expression_r_r is a standard JavaScript expression to be calculated. Parentheses outside the expression are optional, but it is a good habit to write. You can use the void operator to specify a hyperlink. The expression is calculated, but no content is loaded in the current document. The code above creates a hyperlink, and nothing will happen after the user clicks. When a user clicks a link, void (0) is calculated as 0, but it has no effect on JavaScript.
Click here and nothing will happen
That is to say, if you want to perform some processing, but do not refresh the page as a whole, you can use void (0). However, when you need to refresh the page, you have to be careful.
In fact, we can use this statement to perform a submit operation. Under what circumstances will void (0) be used more often, without refreshing the new version? Of course it is Ajax. If you look at Ajax web pages, you will usually see a lot of void (0 ), :), so before using void (0), You 'd better first think about whether the page needs to be refreshed as a whole.

When using javascript, we usually use the following methods:
Submit
To call the javascript method through a pseudo link. The problem with this method is:
Although the page is not redirected when you click the link, the scroll bar will roll up. The solution is to return a false value.
As follows:
Submit

It can also be used ###

A href = "javascript: void (0)" onclick = "javascript: method; return false;" Submit
Javascript: void (0) won't jump up :)

Another method is # this
A href = "# this" onclick = "javascript: Method"

For more information about using javascript:; and javascript: void (0), see the PHP Chinese website!

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.