注册点击事件的 jQuery 代码,在每个第三个事件中,用户将被重定向到自定义 url

标签 jquery

我创建了一个fiddle对于以下情况,我想了解如何使用 jQuery 实现它。

我有几个像这样的div:

<div class="mydiv"><a href="http://www.google.com">google.com</a></div>

<div class="mydiv"><a href="http://www.yahoo.com">yahoo.com</a></div>

<div class="mydiv"><a href="http://www.baidu.com">baidu.com</a></div>

这样的例子不胜枚举(大约有 20 个 div)。

  1. 当用户点击第一个 div(第一个事件)时,他将转到 该链接的页面(在我的例子中是 google.com);

  2. 当用户点击第二个div(第二个事件)时,他将转到该链接的页面(yahoo.com);

  3. 当用户点击第三个 div(第三个事件)时,他将转到 自定义 URL,而不是 baidu.com;

  4. 但是如果用户再次点击第三个div(第4个事件),他将转到baidu.com

总而言之,我需要一个 jQuery 代码的想法,用于注册点击事件,并且在每个第三个事件上,用户将被重定向到自定义 url。

我首先教的是使用切换,但我不确定它是否可以实现。

最佳答案

即使您离开页面,此解决方案也会维护一个计数器:

$(function(){
    var nbc = localStorage['nbc']||0;
    $('a').click(function(){
        localStorage['nbc'] = ++nbc;
        if (nbc%3==0) {
           document.location = "yourUrl";
           return false; // in case the link opens in another page
        }
    });
});

编辑,评论中问题的一些答案:

要在新选项卡中打开 html 链接,请执行以下操作:

<a href=... target=_blank>text</a>

要在新选项卡(或窗口,取决于浏览器和首选项)中以编程方式打开,请使用

window.open("yourUrl");

只有当您控制新页面并且它来自同一来源时,才能在打开后使打开器窗口获得焦点。在这种情况下,只有您可以在新页面中看到此内容:

window.opener.focus(); 

关于注册点击事件的 jQuery 代码,在每个第三个事件中,用户将被重定向到自定义 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13707319/

相关文章:

javascript - 为禁用的 Twitter Bootstrap 表设置样式 单击表中包含的选项

Jquery 更改 body <tag> 中的背景图像属性

javascript - Simpy 无法迭代 javascript 对象?

javascript - 如何捕捉动画GIF并显示静态图像?

javascript - 基于内容高度的 iFrame PDF 滚动

jquery - 鼠标悬停使表格单元格发疯

jquery - 根据屏幕大小删除 CSS 类 jQuery

javascript - 减小 bootstrap-datepicker 字段的大小并更改文本颜色

javascript - 拖动的组件不起作用

Javascript 无法在带有温泉的 Cordova 工作