gpt4 book ai didi

Jquery 阻止父 DIV 的 onClick 触发

转载 作者:行者123 更新时间:2023-12-01 07:53:54 24 4
gpt4 key购买 nike

我有一个带有背景图像的父DIV,当您将鼠标悬停在它上面时淡入右上角有一个小图标(子div),该小图标是可单击的,父div(即有背景图像)也可点击。

我的问题是当我点击小图标时,父DIV的点击事件也会被触发。
我只想在单击小图标时调用子 div 的 onclick 。如果我能让 href 在小图标中工作,那也是可以接受的。

(父div:img1和id“momClickable”)
(带有图标的子div:topIcon1)

工作 fiddle 在这里: http://jsfiddle.net/auhjo9nw/

我的 HTML:

<div class="img1" id="momClickable">- img 206x206 here - 
<div class="topIcon1"><a href="#"><img src="momIcon.jpg" border="0" /></a></div>
</div>

上面的CSS是:

.img1 {
width:206px;
height:206px;
margin-left: auto;
margin-right: auto;
background:url(Mom206x206.jpg);
}

.topIcon1 {
position:relative;
width:45px;
left: 155px;
top: -10px;
display:none;
}

我的jquery:

// To make the div clickable
$('#momClickable').click(function() {
console.log('You clicked the DIV.');
});

//To make the icon clickable
$('.topIcon1').click(function() {
console.log('You clicked the DIV 2.');
});

$(function(){
$(".pictureBoxWrapper1").hover(function(){
$(this).find(".topIcon1").fadeIn(100);
$('#momClickable').css('cursor','pointer');
}
,function(){
$(this).find(".topIcon1").fadeOut();
}
);
});

最佳答案

这称为“事件传播”或更常见的“事件冒泡”。

解决办法可参见here

$('.topIcon1').click(function(event) {
console.log('You clicked the DIV 2.');
event.stopPropagation();
});

您修改后的工作jsfiddle

关于Jquery 阻止父 DIV 的 onClick 触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com