在儿童身上触发mouseleave
Trigger mouseleave when over a child
本文关键字:mouseleave 更新时间:2023-09-26
我陷入了一个很容易解决的问题,但我无法做到。我希望当我悬停它时,我父母的风格会改变,但当我悬停父母的孩子时,会恢复正常。
html:
<div id="parent">
<div id="child"></div>
</div>
Js/jQuery:
$('#parent').on({
mouseenter: function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
$(this).css("box-shadow", "inset 0 0 0 1000px green");
},
mouseleave: function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
$(this).css("box-shadow", "inset 0 0 0 0px pink");
}
});
Fiddle:
Fiddle
使用mouseover和mouseout并检测mouseover中触发的元素。
$('#parent').on({
mouseover: function(event) {
if (!$(this).is(event.target)) return;
event.stopPropagation();
event.stopImmediatePropagation();
$(this).css("box-shadow", "inset 0 0 0 1000px green");
},
mouseout: function(event) {
event.stopPropagation();
event.stopImmediatePropagation();
$(this).css("box-shadow", "inset 0 0 0 0px pink");
}
});
#parent {
background-color: pink;
width: 200px;
height: 200px;
}
#child {
position: relative;
left: 75px;
top: 75px;
background-color: blue;
width: 50px;
height: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="parent">
<div id="child"></div>
</div>
RiggsFolly评论工作将JS更改为:
$('#parent').on({
mouseenter: function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
$(this).css("box-shadow", "inset 0 0 0 1000px green");
},
mouseout: function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
$(this).css("box-shadow", "inset 0 0 0 0px pink");
}
});
$('#child').on({
mouseenter: function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
$("#parent").css("box-shadow", "inset 0 0 0 0px green");
},
mouseleave: function (event) {
event.stopPropagation();
event.stopImmediatePropagation();
$("#parent").css("box-shadow", "inset 0 0 0 1000px green");
}
});
现在它工作了,谢谢里格斯!
相关文章:
- mouseover和mouseleave文本颜色更改在指令链接中不起作用
- 当DOM节点在DOM中移动时,如何阻止Firefox触发mouseleave
- jQuery"或“;操作员没有处理mouseleave
- IE 11未在SVG地图上启动Mouseenter或Mouseleave事件
- jquery mouseenter - mouseleave not working
- jQuery mouseenter() 和 mouseleave() 无法正常工作
- mouseenter mouseleave and a select
- 如何使用if hasClass条件禁用jQuery mouseleave事件?//悬停动画
- 鼠标缓慢移动时未触发mouseleave
- WordPress中的jQuery-在mouseenter和mouseleave事件上进行字体反转
- Jquery mouseenter mouseleave工作不正常
- 在mouseover上显示元素在mouseleave上隐藏
- 移动设备中使用mouseenter和mouseleave事件的错误
- Angularjs:防止对mouseenter/mouseleave事件的脏检查
- jQuery - Mouseenter / Mouseleave Parent / Child Issue
- JQuery 在 mouseenter 和mouseleave 上无法正常工作
- 在 Firefox 中触发 mouseleave() 事件时的鼠标位置
- Jquery mouseleave & mouseenter issue
- JavaScript中的mouseEnter和MouseLeave不起作用
- jQuery mouseLeave 在 IE 中过早触发(8 和 9)