href比onclick先执行
如果a标签同时有href和onclick,那么onclick先执行,然后在通过href跳转
但是有些情况需要让href先执行,在执行onclick,比如onclick中函数依赖于跳转后的window.location.href。
如果href和onclick是分开的,他们的执行顺序是没有办法改变的。
于是为了达到href先执行的效果,可以将二者融合起来。在onclick中先执行href跳转,在执行其他函数体:
如:
//将真正的href放到属性myhref <a class="panel-title" id="home" myhref="#/">首页</a> $("a").on('click', function () { let href = $(this).attr("myhref"); window.location.href = href; /* 最后执行依赖于href的代码 */ })