Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我单击子元素时,如何防止模态显示?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 当我单击子元素时,如何防止模态显示?

Javascript 当我单击子元素时,如何防止模态显示?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,嗨,当我点击触发器的子元素时,我如何禁用/阻止模态显示,就像这样,我不想在点击图像时显示模态,但想在点击灰色背景时显示模态 我知道这样做的一种方法是使用css的position属性或html中的一些棘手的东西。是否有任何方法可以通过java脚本或Jquery实现它 实际上,我正在使用一些jquery图像库插件来显示图像,所以当我单击图像库插件时,模型会同时打开 谢谢 .bg{ 高度:300px; 宽度:100%; 背景色:ccc; } .bg img{ 边框:3倍实心fff; } 情态标题 &

嗨,当我点击触发器的子元素时,我如何禁用/阻止模态显示,就像这样,我不想在点击图像时显示模态,但想在点击灰色背景时显示模态 我知道这样做的一种方法是使用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插件,因此使用这些代码,我的插件无法工作