I have hash(#) links in my own website, and I realised that when I click on them, a hash sign will always appear at the end of my url. But in other web pages that I was fiddling around with, no matter how many times I clicked the link which had a source of '#', it would never add a hash to the end of my URL. Why is this?
相关问题
- Views base64 encoded blob in HTML with PHP
- Is there a way to play audio on a mobile browser w
- HTML form is not sending $_POST values
- implementing html5 drag and drop photos with knock
- React Native Inline style for multiple Text in sin
They probably have javascript attached to the link that prevents the link action from starting.
A simple
will do this
It's normal behaviour of anchor links. If you click link with href like
something#anchor
, you are redirected to urlsomething
(if you aren't already on it) and#anchor
appended to url. This anchor refers to some part of page. Single "#" sign is simply the empty anchor.To avoid this sign appearing in url, you should remove
href
attribute entirely (but sometimes after this action you need to fix stylesheet because appearance of links depends on href attribute presence). Or, if you are using javascript handlers of click event, you should change them to return false.