Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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 - Fatal编程技术网

Javascript 当父对象停止传播时,如何让标记单击?

Javascript 当父对象停止传播时,如何让标记单击?,javascript,jquery,html,Javascript,Jquery,Html,我试图做一个弹出效果,其中有一个背景阴影元素。问题是,当我单击A标记时,href不会触发 这是密码 HTML CSS 如果你点击绿色部分,我会关闭整个弹出窗口,我只是暂时放一个警告。但是,如果单击内部容器部件,则不会发生任何事情,因此我在click事件中设置了返回false。但是,对于内部容器中的A标记,我希望它们仍然可以工作,但是返回false部分正在阻止它 我怎样才能解决这个问题 谢谢只需添加event.stopPropagation() $(.A”)。单击(函数(){ 警报(1); }

我试图做一个弹出效果,其中有一个背景阴影元素。问题是,当我单击
A
标记时,href不会触发

这是密码

HTML

CSS

如果你点击绿色部分,我会关闭整个弹出窗口,我只是暂时放一个警告。但是,如果单击内部容器部件,则不会发生任何事情,因此我在click事件中设置了返回false。但是,对于内部容器中的
A
标记,我希望它们仍然可以工作,但是返回false部分正在阻止它

我怎样才能解决这个问题


谢谢

只需添加
event.stopPropagation()

$(.A”)。单击(函数(){
警报(1);
});
$(“.B”)。单击(函数(事件){
event.stopPropagation();
});
.A{
背景颜色:绿色;
身高:100%;
}
.B{
宽度:100px;
背景色:青色;
}

我想你也可以试试这个

$(".B a").click(function() {
window.location = this.href;
    return false;
});

当单击位于
.B
内时,您将无法单击它。(至少不触发其功能)必须在
标记上创建侦听器。在链接上可以听到单击声,但随后冒泡到.B并在那里停止。我可以在a标记上创建一个侦听器,但是我该如何调用href?这是一个mailto链接。只需执行
event.stopPropagation()
我应该将代码放在哪里?
$(".A").click(function() {
    alert(1);
});
$(".B").click(function() {
      return false;
});
.A {
  background-color:green;
  height:100%;
}

.B {
  width:100px;
  background-color:cyan;
}
$(".B a").click(function() {
window.location = this.href;
    return false;
});