Javascript 如何使HTML元素不可链接?

Javascript 如何使HTML元素不可链接?,javascript,html,click,Javascript,Html,Click,如何在不单击的情况下创建HTML元素 JavaScript单击每个元素。单击元素将获得警报(this.id)。如何使parent2不可单击,但内部的按钮允许您单击 当然,我将有更多的parent3,parent..4,其中包含div和表单。有简单的方法吗 如果有办法在父项(子项)中单击所有项,则会有所帮助。父母2,父母3。。。不单击,但在Parent2..、3..内的窗体可单击 var div=document.getElementsByTagName(“div”); var divCount

如何在不单击的情况下创建HTML元素

JavaScript单击每个元素。单击元素将获得
警报(this.id)
。如何使
parent2
不可单击,但内部的按钮允许您单击

当然,我将有更多的
parent3
parent..4
,其中包含div和表单。有简单的方法吗

如果有办法在父项(子项)中单击所有项,则会有所帮助。父母2,父母3。。。不单击,但在Parent2..、3..内的窗体可单击

var div=document.getElementsByTagName(“div”);
var divCount=div.length;
var-clickedDivId;
对于(变量i=0;i
#父级{
宽度:450px;
高度:170px;
利润率:10px;
填充:10px;
背景颜色:蓝色;
}
#父母2{
宽度:450px;
高度:170px;
利润率:10px;
填充:10px;
背景颜色:蓝色;
}
#父母3{
宽度:450px;
高度:170px;
利润率:10px;
填充:10px;
背景颜色:蓝色;
}
#孩子{
宽度:430px;
高度:70像素;
利润率:10px;
浮动:左;
背景色:红色;
}

点击我!
点击
我

为按钮添加id或其他内容,并使用e.target检查事件是否源自该按钮。下面是片段

document.addEventListener("click", function (e){if(e.target.id == "button") {alert("button clicked")}})

这将从onclick事件中排除
parent2

var div=document.getElementsByTagName(“div”);
var divCount=div.length;
var-clickedDivId;
对于(变量i=0;i如果(div[i].id!=“parent2”){/如果希望您的
parent2 div
不运行任何代码,只需在
单击divid==“parent2”
时返回

var allDivs=document.queryselectoral(“div”);
var disDivs=document.queryselectoral(“div.dis”);
var divCount=allDivs.length;
对于(变量i=0;i
#家长#家长2#家长3{
宽度:450px;
高度:170px;
利润率:10px;
填充:10px;
背景颜色:蓝色;
}
#孩子{
宽度:430px;
高度:70像素;
利润率:10px;
浮动:左;
背景色:红色;
}
.迪斯{
游标:不允许
}

点击我!
点击
我

您可以向按钮添加一些CSS代码,如:

button { 
  position: absolute;
  top: 0;
  left: 10px;
 }
使用此代码按钮可获得比父框更高的级别,
请记住,父框必须具有
位置:相对
,而不是在div上单击
事件时附加
,仅将其置于按钮上,并且事件处理程序应实现警报和
停止触发逻辑

无需在
div

你的代码应该是

HTML

<div id="parent">
  <div id="child"></div>
</div>

<div id="parent2">
  <button id="myButton" type="button" onclick="buttonClicked(event)">Click Me!</button>
</div>

如果您不希望在单击
#parent2
时收到通知…为什么要在其上设置一个
onclick
?为什么允许按钮传播事件,但如果不希望按钮单击传播,则停止在其他处理程序上传播?您试图解决的问题是什么?(没有更多的上下文,这就像那个笑话“医生,医生,当我这样做的时候,它伤害了我”-“那就不要这样做”)当然,我会有更多的parent3,parent4…里面有div和表单。有没有一种简单的方法你可以把id保存在一个数组中,并检查点击的id是否存在于该数组中你也可以给禁用的div分配类。检查更新的代码。检查更新的代码。这可能更清楚。我为混淆道歉当然我会有更多的parent3,parent4…内部有div和表单。有简单的方法吗?那么你的问题是什么?@aldin_abdagicParent和child必须单击,parent2,3…不能单击,但必须单击内部的按钮
function buttonClicked(event){
      console.log('lklklk', event)
      event.stopPropagation();
      alert('Hello world!')

  }