When hash(#) link pressed in some websites, does n

2019-08-06 07:29发布

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?

2条回答
你好瞎i
2楼-- · 2019-08-06 07:56

They probably have javascript attached to the link that prevents the link action from starting.

A simple

return false;

will do this

查看更多
SAY GOODBYE
3楼-- · 2019-08-06 08:04

It's normal behaviour of anchor links. If you click link with href like something#anchor, you are redirected to url something (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.

查看更多
登录 后发表回答