点击链接”正在加载”特效中页面跳转BUG的解决方法

题目有点绕口,先解释一下,就是有这么一个特效:当你点击链接的时候,会显示:"正在加载"之类的文字提示,这个特效的实现,网上给出的教程是这样的

jQuery(document).ready(function($){
$('.content-title a').click(function(){
$(this).text('页面载入中……');
window.location = $(this).attr('href');
});
});

这个教程普遍存在的问题是 在多标签页浏览器中,对待在新标签中打开的链接,原标签也会同时跳转到新链接
此BUG影响的范围甚广,除了新标签包括:

  1. 图片暗箱效果失效,点击图片直接跳转图片地址
  2. 点击评论中的回复按钮会刷新页面
  3. 插入表情会插一对
  4. blablabla....

当然不是每个人都会出这种问题,因为我把.content-title去掉了以实现点击任何链接都出现文字提示的效果,所以问题的范围也就相对更广了

我看的几个帖子都没给解决方法,估计其实也有人写了,但是我没搜到,先自己写个吧
很简单,作祟的就是这句 window.location = $(this).attr('href');
它的作用是让链接在当前窗口打开,而多标签浏览器共用同一个窗口,所以导致了上述问题
把这句话去掉即可

正确版本

jQuery(document).ready(function($){
	$(' a').click(function(){
		$(this).text('是你网速慢……');
	});
});
8 Comments

Name *

E-mail *

Website

  1. 七饭饭

    :kelian: :kelian: :kelian: 这个代码应该添加到哪里,只需要添加这段代码吗???

    • 小蝴蝶

      @七饭饭 : 如果你的主题有js就加到js文件里,没有的话要先加载jquery库

      • 七饭饭

        @小蝴蝶 : 有js库,但,这代码添加到哪呢。。。 :kelian:

        • 小蝴蝶

          <script type=”text/javascript”>代码</script>加在顶部底部都可以

  2. 爱美爱魅

    改完之后,确实解决了BUG,一个是楼主说的,还一个是灯箱问题。。灯箱我用的是插件。。
    但是还有一个问题。就是 WORDPRESS连接微博 这个插件。点击快捷登陆的时候会卡住,显示 页面载入中……(IE浏览10的)

    • 小蝴蝶

      @爱美爱魅 你可以把a改成.entry-title a之类的 那样只会在点击.entry-title的时候显示效果 具体元素要看你主题来定

      • 爱美爱魅

        @小蝴蝶 嗯,这个我知道哈。。没有排除的方法。。要不元素太多了呀。。我现在就是加了菜单栏,文章标题,侧栏的效果。。如果用单个a,那样灯箱会出问题。。。
        还就是即时网站预览那个,我也回复了,可是你没有回答啊。。那个具体要改哪些呢。和你写的不大一样,我用的是官方的11主题。。请教一下哦。

        • 小蝴蝶

          @爱美爱魅 排除就是a:not(),预览那个我回复了你啊….