Anand Moghe Anand Moghe - 1 month ago 6
HTML Question

What's the effect of adding void(0) for href and 'return false' on click event listener of anchor tag?

What is the cumulative effect of following on anchor tag like below:



/**
* This function will create a popup iFrame (not a complete function)
*/
function CreateIframe() {
// This is just a sample and not complete code
var iframe = document.createElement('iframe');
// Initialize and create iFrame and popup iFrame

}

<a href="javascript:void(0)" onclick="CreateIframe();return false;" >Click here!</a>





Answer

About void(0):

As defined by @rahul in What does "javascript:void(0)" mean?

The void operator evaluates the given expression and then returns undefined.

The void operator is often used merely to obtain the undefined primitive value, usually using “void(0)” (which is equivalent to “void 0”). In these cases, the global variable undefined can be used instead (assuming it has not been assigned to a non-default value).

"The reason you’d want to do this with the href of a link is that normally, a javascript: URL will redirect the browser to a plain text version of the result of evaluating that JavaScript. But if the result is undefined, then the browser stays on the same page. void(0) is just the smallest script possible that evaluates as undefined."

The return false:

Acts like a event.preventDefault negating it.

If you call a function like:

<button type="submit" onclick="return some_function();"></button>

And the some_function has a return false; the submit will not happen if you call it.. But a return true will continue with the submit when it's called.

In your case, you'll not be redirected when you click the link.

Comments