例如:
<body>
<div id="d1">
<a id="a1">
<input type="button" id="btn1" >
</div>
<div id="d2">
<a id="a2">
<input type="button" id="btn2" >
</div>
<div id="d3">
<a id="a3">
<input type="button" id="btn3" >
</div>
...................
</body>
当点击 不是 div d1 里面的按钮或链接时,需要提醒用户,有没有什么方法可以做到?
如果在其他按钮或链接处添加检测,需要添加的东西太多!
------解决方案--------------------------------------------------------
注意你的html标签要记得写结束标记,要不在ie下有问题
<body>
<div id="d1">
<a id="a1">a1</a>
<input type="button" id="btn1" >
</div>
<div id="d2">
<a id="a2">a2</a>
<input type="button" id="btn2" >
</div>
<div id="d3">
<a id="a3">a3</a>
<input type="button" id="btn3" >
</div>
</body>
<script type="text/javascript">
function parentNodeIsD1(o){//判断点击的对象的父节点是否为d1
do{
if(o.id=='d1')return true;
}while(o=o.parentNode)
return false;
}
document.onclick=function(e){
e=e
------解决方案--------------------------------------------------------
event;
var o=e.srcElement
------解决方案--------------------------------------------------------
e.target;
if(parentNodeIsD1(o)){alert('点击了div id为d1里面的内容');}
else{
alert('请点击div id为d1里面的内容');
//下面为阻止事件触发的代码
if(e.preventDefault)e.preventDefault();
else e.returnValue=false;
}
}
</script>
------解决方案--------------------------------------------------------
阻止事件冒泡,给div和其子元素都添加上事件;
子元素的事件执行其他操作,div的事件就给提示