javascript - 如何使用 Javascript 检测链接点击(文本、图像等)?

标签 javascript jquery cross-browser event-listener

我正在尝试编写一个跨浏览器脚本来检测何时单击页面上的链接(文本链接、图像或其他方式),以便我可以显示消息或广告(如插页式广告),然后直接最初点击目标 url 的访问者。

脚本必须在第 3 方网站上运行(所有者在其网站上安装脚本标签)。

如何使用 javascript 完成此操作?

我是否使用事件监听器?我是否遍历所有链接对象? 还是别的?

我的 javascript 技能是新手/中级,因此非常感谢详细的示例/解释。

我已经开始在这里使用事件监听器,但到目前为止我检测到页面上的所有点击: addEventListener Code Snippet Translation and Usage for cross-browser detectioin

我会考虑使用 JQuery 替代方案,但我不知道如果第 3 方网站没有 JQuery 库,它将如何工作。

谢谢大家。

最佳答案

要在单击链接(无论是否动态添加)时调用函数,请使用 on()

$(document).on("click", "a", function() {
    //this == the link that was clicked
    var href = $(this).attr("href");
    alert("You're trying to go to " + href);
});

如果您使用的是旧版本的 jQuery,那么您将使用 delegate() (注意selector和event type的顺序是调换的)

$(document).delegate("a", "click", function() {
    //this == the link that was clicked
    var href = $(this).attr("href");
    alert("You're trying to go to " + href);
});

关于javascript - 如何使用 Javascript 检测链接点击(文本、图像等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8451771/

相关文章:

javascript - 如何获得一致的 javascript window.outerHeight 跨浏览器?

Javascript,向表单添加输入字段。无法在 IE 中工作

javascript - 如何获取 JSfiddle 中错误的行号

javascript - 检测所有XMLHttpRequest调用是否完成

javascript - Angular2 切换/打开 ng2-select 下拉菜单

javascript - 动态创建的元素不会触发触发器

google-chrome - 单击目标在同一 PDF 文档上的超链接后,Google Chrome 的后退按钮

javascript - meteor :观察回调中的 Meteor.call() 不执行

javascript - AngularJS 动态依赖注入(inject)

javascript - 你如何改变javascript slider 的大小