用javascript(或jquery)捕获超链接点击
catch hyper link clicking with javascript(or jquery)?
当用户单击收件箱中的链接时,我希望将与该链接相关的消息标记为seen
。
SO也具有此功能,
如果有人回复我的帖子,SO表示我的帖子发生了什么
在我点击收件箱消息并访问帖子后,SO不再显示通知标记。
我想测试一个问题的访问用户每次访问任何问题页面时是否都有收件箱消息太贵了
我想知道是否可以在收件箱页面中捕获clicking-link
,这样我就可以在后台发送ajax请求来标记消息as seen
希望我的问题很清楚。
为单击的每条消息添加一个自定义数据属性。我不确定你是如何显示消息的,但对于这个例子,我们将使用一个span:
<span class="message">Some Message</span>
以及JS:
$(".message").click(function() {
$(this).data("visited", true);
});
然后,您可以检查跨度,看看它们是否被访问过。如果您仍然想进行AJAX调用,您也可以简单地在单击处理程序中添加一个AJAX事件。
我假设您的消息表上有某种"状态"字段来区分"已读"answers"未读"。
如果您正在询问如何在不在每次页面加载时运行查询的情况下有效地存储收件箱中的未读邮件数量,可以通过设置$_SESSION变量来轻松完成:
$_SESSION['unread_messages'] = 2;
设置此变量后,您可以定期检查(每5分钟左右),以在合理的窗口内保持最新。单击并阅读邮件时,您将从该值中减去1或重新查询未读邮件的数量。
如果您询问如何更新数据库和UI,有两种主要方法可以实现。这将取决于用户单击消息时脚本中当前发生的情况。你是发出AJAX请求来加载消息,还是链接会将用户带到另一个页面?
如果您在单击消息时发出AJAX请求,只需让AJAX请求中调用的脚本也将消息标记为已读(在数据库中),并使用JavaScript对当前页面进行任何UI更新(例如删除单击消息上的粗体文本)。
如果单击邮件会重定向到显示整个邮件的其他页面,则可以在加载该页面时在数据库中将该邮件标记为已读。
- 使用JavaScript从超链接加载时的默认下拉值
- 用Javascript按钮替换Javascript超链接
- 点击超链接即可获得搜索引擎和javascript代码
- 如何在我的javascript生成列表中的
- 部分中放置更多超链接
- 超链接单击以加载新页面并执行JavaScript
- 将 Javascript 数组中的文本转换为超链接
- 在JavaScript / jQuery中用活动超链接替换粘贴的链接
- 正在将javascript值附加到gridview超链接.为什么我的代码没有任何想法'不起作用
- 从javascript onClick超链接获取内容
- VBA IE单击/显示没有id或标记而不是超链接的javascript
- javascript拆分URL超链接
- “data-”属性作为超链接的一部分.HTML 到 JavaScript
- Javascript 在单击超链接时运行操作
- 如何在数组中添加超链接(Javascript)
- 使用 JavaScript 引用按钮的超链接
- 有没有一种简单的方法可以在节点上双击 vis.js 创建超链接/javascript-action
- Javascript 正则表达式替换为超链接
- 将 JavaScript 添加到超链接控件
- 将文本设置为超链接javascript
- 用于更改父窗口 URI 的 PDF 文档超链接 JavaScript