javascript - 通过 javascript 拦截文档中的每次点击

标签 javascript jquery html

我想将代码注入(inject)多个页面,以处理文档中特定元素的点击。 我通过 jQuery 成功做到了这一点。

问题是 jQuery 并非在所有页面上都可用。所以它只有一半的时间有效。我想查看href每个 <a> 的属性我点击的。有人知道如何做到这一点吗?

最佳答案

您想要向文档添加一个事件监听器,这实际上是 jQuery 为您所做的事情。

查看有关添加事件监听器的 MDN 文档:

https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener

你的结果应该是这样的:

document.addEventListener('click', yourFunction, false);

这适用于 IE9+ 和所有其他浏览器。要支持 IE8 及以下版本,请改用 AttachEvent:

if (document.addEventListener) {
    document.addEventListener('click', yourFunction, false);
}
else if (document.attachEvent) {
    document.attachEvent('click', yourFunction, false);
}

您的函数现在将传递一个事件对象,该对象将具有一个名为“target”的属性,即被单击的节点。您也可以在 MDN 上阅读更多相关内容:

https://developer.mozilla.org/en-US/docs/DOM/event

同样,这仅适用于 IE9+ 和标准浏览器。在 IE7 和 IE8 中,事件对象是 window 对象的一个​​属性...但如果您在 google 上进行的调查没有找到一些结果,那么这就是另一个问题的主题。

这基本上就是 jQuery 在幕后所做的事情。我建议阅读 jQuery 的源代码可以教你很多像这样的技巧。

关于javascript - 通过 javascript 拦截文档中的每次点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11885357/

相关文章:

html - 在相对定位的 div 中绝对定位图像

javascript - 将 setTimeOut 属性添加到 div

javascript - 用户信息作为前端的全局变量

javascript - 使用 VueJS 中的插槽访问其他组件中的组件数据

jQuery,从列表中间删除项目,然后刷新列表?

javascript - Howler.js-仅暂停方法使Mut叫静音,实际上不暂停它们

javascript - jQuery 或 Javascript 如何查找 Rails 表单中的复选框是否已选中并删除表单 div

javascript - 两个变量在 Node.js 中使用 require (引用问题)引用相同的 config.js 文件

javascript - AngularJs 从数组生成类别

javascript - 添加列表组项,其中包含使用 JS 将输入输入到 ul 的表单