javascript - 触发功能并同时打开URL

标签 javascript jquery click anchor counter

我正在创建一个计数器,用于计算 anchor 标记的点击次数。我还需要同时打开URL。我尝试了下面的代码。在函数执行之前页面会被重定向。

有更好的方法吗?

代码:

$(document).ready(function () {
 var $res = $('#counter').text($.cookie('link-count') || 0)
    
    $('a').click(function () {
        var count = parseInt($.cookie('link-count'), 10) || 0;

        count++;
        if (count > 10) {
            $(this).attr("href", "https://www.yahoo.com");
        }
        $.cookie('link-count', count);
        $res.text(count);
        location.href = $(this).attr("href");
        
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="www.google.com">Google</a>
<div id="counter">0</div>

最佳答案

var linkCount;
$(document).ready(function () {
 var $res = $('#counter').text(linkCount || 0)
    
   $('a').click(function (e) {
      
        e.preventDefault();
      
        var count = parseInt(linkCount) || 0;

        count++;
        if (count > 10) {
            $(this).attr("href", "https://www.yahoo.com");
        }
        linkCount = count;
        $res.text(count);
        location.href = $(this).attr("href")
      
        
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="www.google.com">Google</a>
<div id="counter">0</div>

关于javascript - 触发功能并同时打开URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278446/

相关文章:

javascript - mmasonry.pkgd.js :62 cannot call methods on masonry prior to initialization; attempted to call 'reload'

android - 通知 setAutoCancel(true) 不起作用

php - 点击计数、限制和禁用

javascript - jQuery on() 方法 - 使用哪种方法性能更好?

javascript - 如何在 jQuery Ajax 中发送动态键和值?

javascript - 嵌套 map 未正确呈现 Redux 状态

javascript - 一个简单的 Angular js 程序来渲染不同的 View 是行不通的

javascript - 为什么 Lawnchair 的 webkit-sqlite 适配器将 key 转换为字符串?

php - 添加文本时停止闪烁(清除框并重新填充)的算法

jquery fadein 无法在 IE8 上运行