例如:
<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 里面的按钮或链接时,需要提醒用户,有没有什么方法可以做到?如果在其他按钮或链接处添加检测,需要添加的东西太多!

解决方案 »

  1.   

    可以循环添加onclick事件
    简单操作下dom就可以实现了
      

  2.   

    注意你的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>
      

  3.   


    阻止事件冒泡,给div和其子元素都添加上事件;
    子元素的事件执行其他操作,div的事件就给提示
      

  4.   


    这位大侠好强啊,差不多什么js帖子都有回!!!
    js达人???
      

  5.   

    忽然发现的,用了这个的话href用不了了,可能是点击事件都被截取了。需要改进。~