Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >处理父元素的模糊事件,该事件由子元素上的焦点和单击子元素的外部触发

处理父元素的模糊事件,该事件由子元素上的焦点和单击子元素的外部触发
EN

Stack Overflow用户
提问于 2016-01-19 06:35:36
回答 4查看 13.2K关注 0票数 4

我有一个包含一个子框输入type=number的"parent div“。当用户在输入框之外单击时,我使用父div的blurfocusout事件在其他地方使用输入值。

我还需要在某些地方使用$('inputbox').trigger('focus'),它会意外地触发"parent div“的blur事件,并在该事件上运行代码。

请提供一个解决方案,以停止对子元素焦点的此父模糊事件,或者提供一种方法来确定焦点是通过子元素上的触发器(‘focus’)还是通过用户在父div外部单击来创建的。

我只需要在用户单击父模糊时触发它&而不是当焦点通过代码触发时。

EN

回答 4

Stack Overflow用户

发布于 2016-01-19 06:39:10

使用jquery,您可以非常容易地创建自定义事件,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('inputbox').trigger('special-focus');

然后,您可以像等待任何其他事件一样等待此事件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$('div').on('special-focus' , function(){ ... } );

这将防止您的事件干扰内置事件。

我猜如果你不想使用这个建议,那就在你的点击处理程序或孩子的焦点处理程序中这样做

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 .on('focus' , function(e){
    e.stopPropagation();
    e.preventDefault();
   /// the rest of your code ...
 });

这将停止将事件传播到父元素

票数 2
EN

Stack Overflow用户

发布于 2018-12-06 15:28:22

这对我来说是完美的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if (e.relatedTarget === null) ...
票数 2
EN

Stack Overflow用户

发布于 2016-08-16 17:50:49

对我来说起作用的是检查处理函数中eventObject对象的relatedTarget属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$("#parentDiv").focusout(function (eventObject) {
    if (eventObject.relatedTarget.id === "childInputId")
        /// childInput is getting focus
    else
        /// childInput is not getting focus
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34870012

复制
相关文章
小程序中点击子元素事件而不触发父元素的点击事件
在测试小程序的时候,发现了这样的一个bug,点击子元素事件d的时候触发父元素的点击事件,从而执行父级的点击事件,跳转到了父级的点击事件的页面了。
王小婷
2019/02/21
6K0
小程序中点击子元素事件而不触发父元素的点击事件
vue获取当前点击元素的父元素、子元素、上级元素等
<div @click = "clickfun($event)">点击</div> methods: { clickfun(e) { // e.target 是你当前点击的元素 // e.currentTarget 是你绑定事件的元素 #获得点击元素的前一个元素 e.currentTarget.previousElementSibling.innerHTML #获得点击元素的第一个子元素 e.curre
用户1349575
2022/01/26
11.3K0
子元素滚动,父元素不滚动
这个是为了处理在bootstrap框架中的iframe 滚动条的问题,查找到的解决方案
solate
2019/07/22
4K0
父元素opacity属性对子元素的影响(子元素设置opacity无效)
这段时间做了一个项目优化,对于原有的内容进行了重新设计实现,其中一项就是对于label标签添加hover层进行解释说明,最常用的办法及时label的容器设置relative,然后hover层作为它的子元素设置absolute,然后在使用label的hover伪类来控制hover层的显示和隐藏,这其中一个要求及时hover层必定要求能够遮住页面中其他的元素,所以最常用的办法是设置它的背景颜色,然后让它的z-index处于合理的位置,一切都是这样设计的,但是最终的效果却出现了hover层设置bg为#fff的时候,hover层显示时还是会把底部内容给透出来,第一反应就是opacity设置为1,但是还是没有效果(因为背景为白色,所以有点坑)
全栈程序员站长
2022/09/01
3.1K0
父元素opacity属性对子元素的影响(子元素设置opacity无效)
子元素margin-top导致父元素移动的问题
今天在修改页面样式的时候,遇到子元素设置margin-top 但是并没有使得子元素与父元素之间产生间隔,而是作用在了其父元素上,导致父元素产生了一个margin-top 的效果。
Daotin
2021/01/30
2.7K0
css 子元素margin-top影响了父元素
可以看到box1虽然没有margin-top:50px,但是上方也留出了50px
路过君
2020/11/12
1.6K0
css 子元素margin-top影响了父元素
子元素margin-top转移到父元素
如果子元素设置了margin-top/bottom,且父元素没有触发hasLayout,那么子元素的margin就可能转移到父元素。具体表现如下图(父元素虽然设置了background,但并不能覆盖子元素的margin部分;不过父元素高度足够时可以覆盖margin-bottom):
gojam
2019/09/19
1.1K0
子元素margin-top转移到父元素
CSS中如何解决子元素继承父元素的opacity属性?
这里有两个方案,使用rgba()间接的设定opacity的值,这个属性不会向下继承,或者既然opacity会被子级元素继承,那就把opacity属性放到同级元素实现,下面通过示例具体说说这两种方式:
全栈程序员站长
2022/09/01
4.5K0
准确获取事件源的任意父级元素(事件委托)
当我们想给一个列表中的每个列表项添加相同的事件时,我相信最先想到的方法一定是事件委托,通过将事件监听器设置在其父节点上,利用事件冒泡的原理实现想要的操作,这样只进行了一次的dom操作,提高了程序的性能。通常我们都会使用事件源e.target来获取点击的元素,从而可以知道我们点击的是谁。
小丞同学
2021/08/16
2.6K0
input元素的oninput事件和onchange事件
第二种:获取input元素,然后在元素对象上添加oninput属性,属性值为函数,函数内部为处理事件函数的调用
全栈程序员站长
2022/09/05
3.5K0
【CSS】定位 ⑤ ( 子元素绝对定位 父元素相对定位 | 代码示例 )
此时就要求父容器必须稳定 , 如果父容器使用了 绝对布局 , 父容器就不会保留位置 ,
韩曙亮
2023/04/16
1.9K0
【CSS】定位 ⑤ ( 子元素绝对定位 父元素相对定位 | 代码示例 )
在元素上写事件和addEventListener()的区别[通俗易懂]
语法: element.addEventListener( type , listener , useCapture ) – – 添加事件监听 – – type: 事件类型字符串,不使用“on”前缀 – – callback:事件处理程序(回调函数) – – useCapture:可选参数,是否使用事件捕获的方式处理事件。不传递时,默认为false,表示不使用事件捕获(使用事件冒泡),如果需要显示事件捕获,则显示传递true。
全栈程序员站长
2022/09/18
1.2K0
CSS3中如何解决子元素继承父元素的opacity属性[通俗易懂]
css3中的opacity属性是用来设置 div 元素的不透明级别的,但是我们往往会遇到因为父级元素设定opacity后,子元素也跟着透明了,但是有时候我们只是想让背景是透明的,这该如何解决呢?
全栈程序员站长
2022/09/01
3.9K0
CSS3中如何解决子元素继承父元素的opacity属性[通俗易懂]
js通过contentWindow控制iframe子页面元素点击事件,并把值传给父页面[通俗易懂]
本来需要点击一个图片后,显示一个iframe上传框.点击上传,从而操作子页面中的点击上传动作,再把值传给父页面.或控制父页面中iframe元素的显示状态.不过.通过upload()函数,可以不用显示上传框了,直接激活子页面中的上传动作.另外,onchange事件则可以自动提交上传,不必用户点击上传按钮了.三步并做一步
全栈程序员站长
2022/11/03
8.5K0
JavaScript 技术篇-js代码触发dom元素绑定事件实例演示,jquery触发元素绑定事件方法
jquery 通过 trigger() 方法触发点击事件。 $("#login_div > div > div.login-content > div.content-right > div > div > div.login-panel-input.login-submit-panel > button").trigger("click")
小蓝枣
2021/12/01
9K0
JavaScript 技术篇-js代码触发dom元素绑定事件实例演示,jquery触发元素绑定事件方法
WPF 得到子指定元素方法和得到指定子元素集合方法MvvM得到焦点
public class UIHelper { /// <summary> /// 在Visual里找到想要的元素 /// childName可为空,不为空就按名字找 /// </summary> public static T FindChild<T>(DependencyObject parent, string childName) where T : DependencyObject
lpxxn
2018/01/31
1K0
JS获取节点的兄弟,父级,子级元素的方法
jQuery.parent(expr)  找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class")
OECOM
2020/07/01
9.2K0
jQuery 查找on事件绑定元素的被绑定元素方法
如上代码,当我点击这个图片的时候 $(this) 是指 img . 当然这是正确的.
FungLeo
2022/05/05
4.5K0
jquery 获取元素(父节点,子节点,兄弟节点)
1、jquery 获取元素(父节点,子节点,兄弟节点) $("#test1").parent(); // 父节点 $("#test1").parents(); // 全部父节点 $("#test1").parents(".mui-content"); $("#test").children(); // 全部子节点 $("#test").children("#test1"); $("#test").contents(); // 返回#test里面的所有内容,包括节点和文本 $("#test").content
biaoblog.cn 个人博客
2022/08/11
5.6K0
jquery实现点击某元素之外触发事件
<script> $(function(){ $(document).click(function (e) { if (!$(e.target).is('.program_rooms')) { $(".room_change").slideUp('slow'); $(".program_rooms").attr("data-sure","0"); }
山河木马
2019/03/05
2.8K0

相似问题

单击子元素触发的模糊事件

420

通过单击父元素触发子元素事件

36

子元素单击事件触发父级单击事件。

59

子元素阻止父元素上的触发事件

20

防止在单击子元素时触发父元素的单击事件

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文