Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript在隐藏覆盖时防止底层单击

我正在做一个在桌面和移动设备上运行的应用程序,它有一个div,当用户在div之外单击或点击时,它会隐藏起来。这个div位于其他元素之上,我遇到的问题是,当用户在它隐藏的div之外点击时,它还会在它下面的一个元素上执行click事件。当调用mousedown事件时,此功能在桌面上运行良好。我添加的代码是:

代码语言:javascript
运行
AI代码解释
复制
$(document).on( "mousedown touchstart", function(e){
    if (isSearchOpen) {
        if (!$(searchContainer).is(e.target) && $(searchContainer).has(e.target).length === 0) {
            $('input[name=q]','form[name=searchFormMobile]').val('');
            $('input[name=q]','form[name=searchForm]').val('');
            $(searchOverlay).hide();
            isSearchOpen = false;
        }
    }
});

我尝试在第二个if-statement中调用e.preventDefault()e.stopPropagation()return false;,但都不起作用。此弹出窗口可以出现在多个“页面”上,所以我希望避免尝试捕获任何可能的元素,并在可能的情况下以这种方式处理此问题。

任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2015-08-10 15:55:29

您可以尝试将模糊事件添加到div中。每当用户在div外部单击或点击时,都会触发一个事件。

https://developer.mozilla.org/en-US/docs/Web/Events/blur

票数 1
EN

Stack Overflow用户

发布于 2015-08-10 16:39:45

使用z-Index 100附加一个具有全屏幕宽度和高度的透明div,对于您的DIV,将z-Index设置为101。对于覆盖DIV上的Onclick事件,从DOM中删除这两个DIVs。仅供参考,jquery-Ui模式对话框也做同样的事情。;)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31923710

复制
相关文章
javascript 防止重复点击
var debounce = function (func, wait, lossless) { var lastTimeout, alreadyDo = false; if (typeof lossless == 'undefined') lossless = true; return function () { var context = this, args =
IT架构圈
2018/05/31
1.7K0
C++:41---覆盖和隐藏
C++类中覆盖与隐藏一直是一个容易理解出错的地方,接下来我就详细讲解一下区别在何处
用户3479834
2021/02/03
4620
第9条 覆盖equals时总要覆盖hashCode
覆盖了equals方法,也必须覆盖hashCode方法,if not,就违反了hashCode的通用约定,会导致无法跟基于散列的集合正常运作.
程序亦非猿
2019/08/16
1.2K0
JavaScript实现单击全选 ,再次点击取消全选
Screenshot (11).png 以下为实现思路,已测试,供参考 var allSet = document.getElementById('allSet');//获取全选按钮元素 var a = allSet.Custom;//给全选按钮自定义属性   a = 0;//自定义属性值为0 var input1 = all.getElementsByTagName('input');//获取all下的全部input标签; //给全选按钮添加点击事件,进行判断; allSet.onclick = f
李文杨
2018/03/27
1.8K0
JavaScript实现单击全选 ,再次点击取消全选
如何理解Java中的隐藏与覆盖
http://blog.csdn.net/yangquanhui1991/article/details/49679557
bear_fish
2018/09/20
3.4K0
C++的函数隐藏、覆盖和重载
http://blog.csdn.net/lin49940/article/details/5553664
bear_fish
2018/09/20
1.3K0
重载(overload)、覆盖(override)、隐藏(hide)的区别
这三个概念都是与OO中的多态有关系的。如果单是区别重载与覆盖这两个概念是比较容易的,但是隐藏这一概念却使问题变得有点复杂了,下面说说它们的区别吧。 重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同。调用的时候根据函数的参数来区别不同的函数。 覆盖(也叫重写)是指在派生类中重新对基类中的虚函数(注意是虚函数)重新实现。即函数名和参数都一样,只是函数的实现体不一样。 隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了。隐藏与另外两个概念表面上看来很像,很难区分,其实他们的关键区别就是
Linux云计算网络
2018/01/10
2.6K0
JavaScript 覆盖对象字段级别
下列的代码可以实现a和b两个对象进行覆盖合并,不同于object.asgin 会覆盖。下列的代码只会字段级覆盖。
小贝壳
2020/09/09
9200
码处高效:覆盖 equals() 时切记要覆盖 hashCode()
在每个覆盖了 equals 方法的类中,都必须覆盖 hashCode 方法。如果不这样做的话,就会违反 hashCode 的通用约定,从而导致该类无法结合所有的给予散列的集合一起正常运作。这类集合包括 HashSet、HashMap,下面是Object 的通用规范:
cxuan
2019/09/19
6940
码处高效:覆盖 equals() 时切记要覆盖 hashCode()
js(javascript) onclick与ondblclick 单击与双击事件
js 单击时间为:onclick 双击事件为:ondblclick 如下是一个演示,想必很清楚,复制代码运行一下就懂了:
1_bit
2020/10/23
7.4K0
jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:
飞奔去旅行
2019/06/13
5.7K0
php视频地址隐藏,简单隐藏加密视频地址,以防止用户下载[通俗易懂]
classid=CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95 height=69
全栈程序员站长
2022/07/25
2.5K0
干货 | 通过HOOK底层API实现进程隐藏
一次跟师傅交流时师傅谈到有些EDR或AV,他们保护目标主机,甚至无进程,不经想到病毒实际上也常用这种技术。当然,做到隐藏,一个简单的dll注入或者劫持就可以,但本文主要讲解关于进程的隐藏。
HACK学习
2021/07/21
2.3K0
JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件
js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。 我们加一个延迟时间就能很好的解决这个问题。
小蓝枣
2020/09/23
6.4K0
选择篇(039)-单击按钮时event.target是什么?
导致事件的最深嵌套元素是事件的目标。你可以通过event.stopPropagation停止冒泡
齐丶先丶森
2022/05/12
1.8K0
ghost.py在代用JavaScript时的超时问题
在写爬虫的时候,关于JavaScript的解析问题,我在网上找到的一个解决方案是使用ghost.py这个模块,他是一个基于webkit封装的一个客户端,可以用来解析动态页面。它的使用非常简单,它从2.x版本开始,变化就有点大了,在这我主要是针对他的1.0版本。 首先在GitHub上克隆它,然后在对应的文件中执行python setup.py install命令,这样就可以安装了,注意在这不要直接使用pip,使用pip会默认安装2.x版本。 安装完成后,可以编写如下代码来加载一个网页:
Masimaro
2018/08/31
9220
javascript 之隐藏你的代码
标题里的“短”字加了引号,只是因为它看起来短,实际并不短,因为字节还是在的,在 unicode 里有一种神奇的字符叫 零宽空白,它的特点是字型的显示宽度为 0,无论堆了多少个零宽字符,你都看不见它。
Marco爱吃红烧肉
2021/07/27
1.3K0
JavaScript 鼠标滑动,图片显示隐藏
图片 当一个区域需要展示多张图片,而该区域的空间大小受到限制时,我们可以通过这种方式来达到预览哪张图片就展示该图片,并隐藏其他图片的方式来达到目的,这就是简
Nian糕
2018/08/21
3.3K0
JavaScript 鼠标滑动,图片显示隐藏
检查原生 JavaScript 函数是否被覆盖
原文链接:https://mmazzarolo.com/blog/2022-07-30-checking-if-a-javascript-native-function-was-monkey-patched/[1]
chuckQu
2022/09/20
6970
检查原生 JavaScript 函数是否被覆盖
点击加载更多

相似问题

防止元素在单击时隐藏

10

如何防止用presentModalViewController隐藏底层视图?

10

防止在单击时隐藏Abbr工具提示

26

防止在单击覆盖div时触发后台事件

11

在超级菜单中单击时防止覆盖关闭

14
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档