Sometimes when we are writing JS, we need to trigger events without returning values, so we might need to write this.
I've seen several posts on <a> labels and javascript:void (0) Recently, and I'd like to keep them in mind.
Note: The following code is not fully tested, but the scenario that each method may appear is basically explained.
When making a page, if you want to do a link click Do not do anything, or in response to click to complete other things, you can set its properties href = "#", but this will have a problem, that is, when the page has a scroll bar, click will return to the top of the page, the user experience is not good.
There are currently several solutions:
1) Don't do anything after clicking on the link
?
123 |
<a href= "javascript:void(0);" >test</a> <a href= "javascript:;" >test</a> <a href= "####" >test</a> //使用2个到4个#,见的大多是"####",也有使用"#all"等其他的 |
2) Click on the link to respond to user-defined click events
?
123 |
<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> |
Description
1.javascript:void (0) This pseudo-protocol, write less good, if you have read some of the Web Standard books will know why. (Do not understand, the exact words picked, the record)
2. Link (href) direct use of javascript:void (0) in IE may cause some problems, such as: Cause GIF animation to stop playback, so the safest way is to use "# # #". To prevent clicking on a link and jumping to the top of the page, the OnClick event will return false.
3. If you just want to move the mouse over, turn into a hand, you can use
<span style= "Cursor:pointer" onclick= "foo ()" >click me!</span>
?
Void is the JavaScript operator, meaning: Only the expression is executed, but no return value is
The void operator uses the following format:
?
12 |
javascript:void (expression) javascript:void expression |
For a good program style, the second type of parentheses is recommended.
We can use the void operator to specify hyperlinks, such as Javascript:void (Document.form.submit ()). The expression is evaluated but does not load any content at the current document, void (0) evaluates to 0, but does not have any effect on JavaScript, that is, <a href= "javascript:void (0)" > Effect with <a href= " Javascript:void (1) "> The effect is the same.
The key is to know that void is an operator of the Javascipt itself, which represents the execution of an expression only, but no return value!
In addition, the page will automatically be recalled to the top, because the "#" is the default point of sight is top, so this situation occurs.
Continue to explain
I'd like to use Ajax for all the usual code like this:
<a href= "Javascript:dotest2 (); void (0);" >here</a>
But what is the meaning of void (0) here?
In JavaScript, Void 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)
2. Javascript:void expression
Expression is a standard of Javascript to evaluate. Parentheses on the outside of the expression are optional, but writing is a good habit. (Implementation version Navigator 3.0)
You use the void operator to specify a hyperlink. The expression is evaluated but does not load any content at the current document.
The following code creates a hyperlink that will not happen to the user in the future. void (0) evaluates to 0 when the user links, but does not have any effect on Javascript.
<a href= "javascript:void (0)" > single here Nothing will happen </A>
The following code creates a hyperlink that submits the form when the user orders it.
<a href= "Javascript:void (Document.form.submit ())" > Submit form here </A>
A href= #与 a href=javascript:void (0) A few ways to link the difference
#包含了一个位置信息
The default anchor is #top, which is the upper end of the page
and javascript:void (0) only represents a dead link
That's why there are times when the page is very long browse the link is obviously # Yes
Jumping to the top of the page
and javascript:void (0) is not so
So it's best to use void when calling scripts (0)
or <input onclick>.
<div onclick>, etc.
Several ways to link
1.window.open (' url ')
2. Using Custom Functions
?
12345678 |
<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)" > Zhuzhou </a>
Window.location.href= ""
href= "#" contains a location information. The default anchor is #top, which is the top of the page, which causes the browser to slow or even crash when you click the link continuously.
Of course we generally use three href= "# #", but read this article we can use javascript:;(a colon a semicolon)
In JavaScript, Void is an operator that specifies that an expression is evaluated but does not return a value.
javascript: Better, javascript:void (0); some cases are said to have browser-compatible bugs. (This point bug I do not know when can appear, know the children's shoes please advise).
Can be written javascript:;,qq space many are written in javascript:;
I feel that there is no difference between the two, is to execute an empty event.
javascript: Or even 7 fewer characters, huh.
Sina Weibo is written by javascript:void (0);
I've always written about javascript:void (0); but now it's all javascript:;
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 information
The default anchor point is #top, which is the upper end of the page
and javascript:void (0) only represents a dead link
That's why there are times when the page is very long browse the link is obviously # but it beats to the top of the page
and javascript:void (0) is not so
So it's best to use void when calling scripts (0)
or <input onclick>.
<div onclick>, etc.
Several ways to open a new window link
1.window.open (' url ')
2. Using Custom Functions
Copy CodeThe code is as follows:
<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 is a #, there will be a jump 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) on! Let's take a look at the meaning of Void (0) in javascript:
In JavaScript, Void 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, you can use void (0) to perform some processing but not to refresh the page as a whole, but be careful when you need to refresh the page.
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"
Articles you may be interested in:
- Boxed and unboxing in Java in-depth understanding
- On Java automatic packing and unpacking and its traps
- Java Auto-Boxing unpacking in-depth analysis
- A detailed description of the Java regular expression
- Java preserves two decimal places for multi-method Java with a double reserved two decimal places
- JAVA8 ten new features detailed
- How to set up Java environment variables (graphic tutorial)
- Several ways to share Java writing files
- How to use the file class in Java
- The Java List Usage example is detailed
- Java packing and unpacking details and example code
"Repost" javascript:; with javascript:void (0) Introduction to use