javascript 点击当前以外 dom 触发事件
在给定的代码中,如何点击特定 DOM 以外的区域时触发事件是一个常见的需求。
默认情况下,可以使用事件监听器来检测每个 DOM 元素上的点击事件。但是,如果需要封装此行为以处理多个指定 DOM,那么使用循环的方法将无法正确识别 DOM 点击。
要解决这个问题,可以使用 document 事件监听器,并判断点击的目标元素是否包含在指定的 DOM 数组中。以下是一个代码示例:
function isClickInQueryDom(doms, callback) { if (!doms.length) return new Error('未传入指定节点'); document.addEventListener('click', (e) => { const flag = doms.some(dom => !dom.contains(e.target)); callback && callback(flag); });}
登录后复制
调用方式:
立即学习“Java免费学习笔记(深入)”;
isClickInQueryDom([app1El, app2El], (flag) => { if (flag) { document.querySelector('.view').innerHTML = '点击白色的区域才能进来'; }});
登录后复制
通过使用此封装函数,可以动态地指定排除的 DOM 元素,并仅在点击其他区域时触发回调函数。
以上就是如何使用 JavaScript 实现点击特定 DOM 以外区域触发事件?的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2804751.html