I'm working on some JQuery to hide/show some content when I click a link. I can create something like:
<a href="#" onclick="jquery_stuff" />
But if I click that link while I'm scrolled down on a page, it will jump back up to the top of the page.
If I do something like:
<a href="" onclick="jquery_stuff" />
The page will reload, which rids the page of all the changes that javascript has made.
Something like this:
<a onclick="jquery_stuff" />
Will give me the desired effect, but it no longer shows up as a link. Is there some way to specify an empty anchor so I can assign a javascript handler to the onclick
event, without changing anything on the page or moving the scrollbar?
In order to enable a HTML Anchor Link (HyperLink), the value of its REL attribute is copied back to the HREF attribute and the REL attribute is removed. This makes the HTML Anchor Link (HyperLink) once again enabled i.e. clickable.
To make an anchor tag refer to nothing, use “javascript: void(0)”. The following link does nothing because the expression "0" has no effect in JavaScript. Here the expression "0" is evaluated, but it is not loaded back into the current document.
Put a "return false;" on the second option:
<a href="" onclick="jquery_stuff; return false;" />
You need to return false;
after the jquery_stuff
:
<a href="no-javascript.html" onclick="jquery_stuff(); return false;" />
This will cancel the default action.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With