Javascript 当我单击子元素时,如何防止模态显示?
嗨,当我点击触发器的子元素时,我如何禁用/阻止模态显示,就像这样,我不想在点击图像时显示模态,但想在点击灰色背景时显示模态 我知道这样做的一种方法是使用css的position属性或html中的一些棘手的东西。是否有任何方法可以通过java脚本或Jquery实现它 实际上,我正在使用一些jquery图像库插件来显示图像,所以当我单击图像库插件时,模型会同时打开 谢谢 .bg{ 高度:300px; 宽度:100%; 背景色:ccc; } .bg img{ 边框:3倍实心fff; } 情态标题 &时代; ... 关 保存更改Javascript 当我单击子元素时,如何防止模态显示?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,嗨,当我点击触发器的子元素时,我如何禁用/阻止模态显示,就像这样,我不想在点击图像时显示模态,但想在点击灰色背景时显示模态 我知道这样做的一种方法是使用css的position属性或html中的一些棘手的东西。是否有任何方法可以通过java脚本或Jquery实现它 实际上,我正在使用一些jquery图像库插件来显示图像,所以当我单击图像库插件时,模型会同时打开 谢谢 .bg{ 高度:300px; 宽度:100%; 背景色:ccc; } .bg img{ 边框:3倍实心fff; } 情态标题 &
您可以单击子项并单击e.stopPropagation;防止事件像这样冒泡到DOM树
$("img ").click(function(e) {
e.stopPropagation();
});
$img.clickfunction{
e、 停止传播;
};
.bg{
高度:300px;
宽度:100%;
背景色:ccc;
}
.bg img{
边框:3倍实心fff;
}
情态标题
&时代;
...
关
保存更改
更好的解决方案是选择div中的所有元素[$.bg*],并在它们的onclick调用e.stopPropagation上停止事件冒泡 $.bg*.onclick,function e{ e、 停止传播; }; .bg{ 高度:300px; 宽度:100%; 背景色:ccc; } .bg img{ 边框:3倍实心fff; } 情态标题 &时代; ... 关 保存更改
您好,谢谢您的回复,我尝试了这段代码,但这段代码也阻止了我在图片上的其他点击事件@Yash尝试使用$.bg img,因此这仅适用于具有类的div中的图像bg@Yash我在回答中添加了这个片段。请检查。尝试添加StopImmediatePropagation当我点击图像时没有任何其他东西可以触发时,它工作正常,但我正在使用一个插件来显示ImageSigneBox插件,因此使用这些代码,我的插件无法工作