javascript - 使用 JavaScript 检测元素外部的点击

标签 javascript dom-events

我有一些列表项,每个列表项旁边都有一个小框。单击该框后,会显示一些信息。如果单击位于框外,我想隐藏该框。但我不知道到底该怎么做。已经有一些类似于这个问题的帖子,但它们都使用 jQuery,但我必须使用纯 JavaScript 来完成此任务

我尝试执行以下操作: http://jsfiddle.net/kn8hw4tf/1/

最佳答案

监听文档上任意位置的点击,并对它们使用react。 监听框上的点击,并调用 event.stopPropagation(),这样它们就不会点击 document 上的监听器。

document.getElementById('test_id').addEventListener('click', function getDetails(evt) {
    var id = this.getAttribute('id');
    alert("Clicked on " + id);
    evt.stopPropagation();
});

document.addEventListener("click", function (e) {
    alert("Clicked outside");
});

关于javascript - 使用 JavaScript 检测元素外部的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481675/

相关文章:

javascript - 在 html anchor 中返回 false 不会返回 false

javascript - 滚动类型 ="number"输入以更改其值 : How to stop parent's scrolling

javascript - AngularJS指令: Inserting Attribute values in template

javascript - AppComponent 构造函数中的私有(private)变量 -> 没有 HTML/ View ?

javascript 正则表达式来检测内联 javascript 还是外部脚本

javascript - AngularJS:在组件之间进行通信的最佳实践是什么?

javascript - Webpack 输出包大于预期

javascript - 检查 'onload' 是否已经触发?

javascript - 代理事件目标上的 addEventListener

javascript - 防止默认输入键事件而不阻止滚动