比如这个页面http://music.163.com/#/song?i...
点击下面的歌名,页面没有刷新也没跳转,是如何实现的。
估计你是新手吧... 多看源代码吖
_onAnchorClick = function(_event){//截获所有<a>标签的点击事件,自定义页面的跳转
_event = _event||window.event;
var _el = _event.target||_event.srcElement,
_base = location.protocol+'//'+location.host;
while(_el&&_el!=document){
// ...
}
}
_addEvent(document,'click',_onAnchorClick);
其实就是用了 Event.preventDefault
<a href="https://baidu.com">我想跳转到百度搜索哆啦A梦</a>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<script>
$('a').on('click', function (event) {
event.preventDefault();
})
</script>
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
http://music.163.com/#/song?i...
#
号后面的东西叫片段,也可以叫锚点。 这东西不会刷新浏览器,也不会提交一个请求给服务器,但是可以生成一条浏览器记录。获取#号后面的值是window.location.hash
所以只需要监控这个hash值的变化就可以了onhashchange