The difference between a href= #与 a href=javascript:void (0)

Source: Internet
Author: User

Reprint: http://blog.csdn.net/u010552788/article/details/49385487

Javascript:void (0) means to do nothing! He is not a page URL, but a JavaScript statement void (0), Void is an operator that specifies to evaluate an expression but does not return a value, the expression to be evaluated is "0", so this is basically the way the pit father is written, completely fooled by the browser. If you hover over a link and the destination address of the link is displayed on the status bar at the bottom of the browser, this means that the author of the page wants the link to be clicked instead of jumping directly to a new page, rather than doing something else (such as a preset JS function). Then why do you add this? Because the "href" parameter in the linked HTML code (<a href= "Address" > "link </a>") is not empty, the page automatically jumps when the link is clicked, and if the specified "href" is not valid, the page jumps to itself, that is, refresh, What if you want to use the link to do something else? Then we need to specify a valid but not refresh page parameter for "href", so "javascript:void (0)" comes in handy, we can change it (<a href= "javascript:void (0)" onclick= " Do something Else "> link </a>" So clicking on this link triggers the onclick event, and the page itself does not refresh, the task is reached

———————————————————————————————————————————————————————————————————

A href= "#" > click on the link, the page will scroll up to the top of the page, # The default anchor point is #TOP

<a href= "javascript:void (0)" onclick= "window.open ()" > Click the link, the page does not move, only the link is opened

<a href= "#" onclick= "Javascript:return false;" > function as above, different browsers will have differences.

Click the link, do not want to roll the page to the top of the page, with href= "javascript:void (0)", do not use href= "#", return false also has a similar effect

The difference between href= "#" and href= "javascript:void (0)"

"#" contains a location. The default anchor point is #top, which is the top of the page, and Javascript:void (0) represents only a dead link. This is why sometimes the page is very long browse the link is obviously # but the jump to the first page and javascript:void (0) This is not the case, so it is best to call the script with void (0) or <input onclick><div onclick> and other ways to open a new window link 1.window.open (' url ') 2. Use Custom Functions < 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> Window.location.href= ""-------------------------------------------------------------------------------if it's a #, There will be jumps to the top of the situation, the personal collection of several solutions:
1:<a href= "# # # ></a>
2:<a href= "javascript:void (0)" ></a>
3:<a href= "javascript:void (null)" ></a>
4:<a href= "#" onclick= "return false" ></a>
5:<span style= "Cursor:hand" ></span> (as if not shown in FF)---------------------------------------------------- --------------------------- careful use of javascript:void (0)Today, when debugging CGI, the CGI program has been executed, and the final result is correct, but the page is not refreshed. Under the FireFox2.0 test, the result is normal, IE6 but it does not refresh! After a closer look, the CGI page was found to be linked by <a href= "javascript:void (0)" onclick= "Xxx_func ();" ....> only a sample </a> The problem is in this void ( 0) go on! Let's take a look at the meaning of Void (0) in javascript: The void in JavaScript is an operator that specifies that an expression is evaluated but does not return a value.
The void operator uses the following format:
1. Javascript:void (Expression_r_r)
2. Javascript:void Expression_r_r
Expression_r_r is an expression of the JavaScript standard to be computed. Parentheses on the outside of the expression are optional, but writing is a good habit. We can use the void operator to specify hyperlinks. The expression is evaluated but does not load anything at the current document. The code for the polygon creates a hyperlink that doesn't happen when the user clicks it. void (0) evaluates to 0 when the user clicks on the link, but does not have any effect on JavaScript. <a href= "javascript:void (0)" > Click here Nothing will happen </a> that is, to perform some processing, but not the overall refresh of the page, you can use void (0), But in the case of the need to refresh the page, it should be careful. In fact, we can use <a href= "Javascript:void (Document.form.submit ())", this sentence will be a submit operation. Then what situation with void (0) More, no refresh, of course, Ajax, look at the AJAX Web page, you will generally see a lot of void (0),:), so before using void (0), it is best to think about whether this page needs a whole refresh.

When using JavaScript, we usually pass a similar:
<a href= "#" onclick= "javascript: Method" > Submit </a>
Way to invoke the JavaScript method through a pseudo-link. One of the problems with this approach is:
Although clicking on the link does not jump to the page. But the scrollbar rolls up, and the workaround is to return a false.
As shown below:
<a href= "#" onclick= "javascript: method; return false;" > Submit </a>

You can also use # # #

A href= "javascript:void (0)" onclick= "javascript: method; return false;" Submit
Javascript:void (0) will not jump upward:)

One more way is to #this
A href= "#this" onclick= "javascript: Method"

The difference between a href= #与 a href=javascript:void (0)

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.