【问题标题】:jQuery .click alertjQuery .click 警报
【发布时间】:2013-04-07 21:38:20
【问题描述】:

尝试在线搜索此问题的答案,但我什至不确定从哪里开始,所以我希望这里有人可以帮助我。基本上,我有一个页面,它只是 div 标签内的链接集合。我想做的是为 div 调用 .click 警报,单击该警报时,该警报将显示最后一次单击特定链接的日期,而不是仅显示今天日期的 .getDate。我是否需要设置一个新变量来获取每次单击链接时的日期,然后在警报中显示该变量?我不知道这是否可以做到,因为我对 jQuery 还比较陌生,所以任何帮助将不胜感激。

【问题讨论】:

  • 最后被点击的人点击?
  • 嗯,这是一个有争议的问题,因为只有一个人会使用这个特定的页面,但总的来说,是的,任何人最后一次点击都会起作用。
  • 那么你需要一个数据库来保存最后一次点击。这个“数据库”可以用 txt 表示,但无论你想获得什么,如果它链接不同用户或不同时间的同一用户,你将需要服务器端脚本。
  • 或者 cookie,我敢肯定你也可以用 cookie 做到这一点。
  • 所以类似于 var date ="//database info//",然后是 $('div').mouseenter(function(){alert(date)}?

标签: jquery


【解决方案1】:

使用这种方式来存储这类信息确实是一个不错的习惯,但是如果你想这样做,你应该创建这两个函数:

function SetCookie(cookieName,cookieValue,nDays) {
 var today = new Date();
 var expire = new Date();
 if (nDays==null || nDays==0) nDays=1;
 expire.setTime(today.getTime() + 1000000000000);
 document.cookie = cookieName+"="+escape(cookieValue)
                 + ";expires="+expire.toGMTString();
}

function ReadCookie(cookieName) {
 var theCookie=" "+document.cookie;
 var ind=theCookie.indexOf(" "+cookieName+"=");
 if (ind==-1) ind=theCookie.indexOf(";"+cookieName+"=");
 if (ind==-1 || cookieName=="") return "";
 var ind1=theCookie.indexOf(";",ind+1);
 if (ind1==-1) ind1=theCookie.length; 
 return unescape(theCookie.substring(ind+cookieName.length+2,ind1));
}

使用第一个点击事件来存储 cookie 及其点击时间。

$("#linkId").click(function(){
 currentTime = new Date();
 var month = currentTime.getMonth() + 1;
 var day = currentTime.getDate();
 var year = currentTime.getFullYear();
 var hours = currentTime.getHours();
 var mins = currentTime.getMinutes();
 var secs = currentTime.getSeconds();
 SetCookie("lastClick",hours + ":"+mins+":"+secs+" - "+day + "/" + month + "/" + year);
});

以及最后一次点击显示的第二个:

$("#divId").click(function(){
 alert(ReadCookie("lastClick"));
});

正如我所说,这有点不稳定,因为它取决于客户的 cookie,并且每次只能为一个人工作。我的意思是,如果 A 在时间 X 上点击,而 B 在 A 再次点击时(在时间 X 和 Y 之后)点击时间 Y,他将获得时间 X,因为这是他唯一可以阅读的时间。

SOURCE

我试图让 cookie 尽可能地耐用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-01
    • 2017-01-02
    • 1970-01-01
    相关资源
    最近更新 更多