在做本站“说说墙”的时候发现一个问题:
“a标签onclick事件会在href属性生效前优先执行!”!
问题描述:直接进到https://www.phpvar.com/mood 这个说说墙页面,我会给页面右侧的“说说墙”模块里面的每一个链接都绑定一个onclick事件,以实现“点击链接时,根据给地址栏附加“锚点”,再自动滚动到对应说说区域位置,但问题是onclick事件捕捉到的window.location.href是“未修改前的”地址栏网址!
解决方法: 在onclick事件上做个setTimeout的短暂延时,使得onclick里面的事件因延时,在地址栏网址被修改后再去捕捉最新的地址栏链接!
关于这个结论,我们可以写个简单的测试,代码如下:
提示:你可以先修改部分代码再运行。
根据alert出来的数据先后,就可论证到上述结论是正确的!!
上一篇: 网站变灰代码-兼容各主流浏览器
下一篇: wp博客首页登录状态异常,后台发布文章首页延时显示…
5条评论( 网友:4 条,站长:1 条 ) 网友评论{有您的评论更精彩....}