我会在我的页面中动态添加一些“Li”标签。
每个“李”都有一些这样的代码:
<li id="file-1000">
<a target="_blank" href="pack.jpg" style="display: block;" class="pirobox_gall first last">
<img alt="" src="pack_thumb.jpg" class="attached">
<i style="display: none;" class="icon-close2" id="delIcon-1000"></i>
</a>
</li>
结果:
事件:
1)我将一些事件绑定到“a”和“i”标签,如下所示:
$(document)
.on('mouseenter',
'#file-1000',
function () {
$('#delIcon-1000').fadeIn(200);
})
.on('mouseleave',
'#file-1000',
function () {
$('#delIcon-1000').fadeOut(200);
})
.on('click',
'#delIcon-1000',
function () {
alert('Close btn is clicked');
});
2)另一方面,“a”标签在其点击事件上有其他分配的事件(通过jQuery图像幻灯片插件:piroBox)
因此,当我单击图像时,我会看到一个漂亮的图像弹出窗口(作为大图片),但是当我单击删除按钮时,我会看到大图像 +“单击关闭 btn”消息“一起。
当我点击删除按钮(当我点击它的孩子时)时,我想阻止“a”标签点击事件(父事件)。
我知道使用 stopPropagation() 是一种解决方案,但它在这里不起作用,我不知道如何在 $(document).on(....) 方法中使用它。
编辑: 我尝试了一些答案,但他们失败了,结果是这样的:
黑框上方是>>一个用于显示更大图片的弹出框(我想阻止打开此框)