javascript - 如何让所有页面元素不对点击使用react

标签 javascript jquery google-chrome

我正在尝试制作一个具有“选择”功能的扩展:让用户单击页面上的任何元素并查看它的 xpath。

但是,为了使其可用,我必须防止元素在单击时使用react:我不想单击超链接将我转发到另一个页面、按钮提交表单等。

我该怎么做?

UPD:我只需要 Chrome 浏览器

最佳答案

我认为最简洁的方法是在捕获阶段将一个事件处理程序绑定(bind)到body,并防止事件传播/默认行为。

您可以使用 event.target 获取对单击元素的引用:

document.body.addEventListener('click', function(event) {
    event.preventDefault();
    event.stopPropagation();
    console.log(event.target);
}, true);

优点是该事件处理程序将是第一个被触发的,无论其他哪些事件处理程序绑定(bind)到页面中的元素(当然,除非页面将类似的事件处理程序绑定(bind)到 body,但通常事件处理程序是在冒泡阶段绑定(bind)的)。

有关更多信息,请参阅quirksmode.org - Event orderMDN - addEventListener .

DEMO

关于javascript - 如何让所有页面元素不对点击使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17254480/

相关文章:

javascript - 在绘图标题中包含变量 - Google Earth Engine

javascript - 如何淡入和淡出 3 个 div 以及该 div 内的其他 div

javascript - 使用 AngularJS 获取子数组的计数

javascript - Jquery 和 CSS 添加 HTML 代码

javascript - Google Chrome twilio 视频聊天问题

jquery - chrome中的jScrollPane 2.0高度问题

javascript - insideHTML 在 setInterval 上不改变

javascript - JQuery 问题中的图像替换

用于甘特图的 JavaScript/jQuery 库

html - 在 Chrome 中禁用样式 <select>