js


    <table>
        <tr>
          <td onClick="test1()">
              <a href="javascript:void(0)" onClick="test2()">点击运行test2()</a> 点击运行test1()
          </td>
        </tr>
    </table>
  当我点击<a>标签里面的内容时,它会运行test2()后再运行test1();
  如果我想再点击<a>标签里面的内容的时只运行test2(), 不运行test1()  ,点击<td>除去<a>标签以外的内容才会激发test1()  应该怎么弄!!求大侠指点·····javascript标签jsp

解决方案 »

  1.   

    function test2(evt){
    var evt= window.event|| evt;
    evt.cancelBubble=true;
    evt.preventDefault&&evt.preventDefault(); }
      

  2.   

    就是所谓的js冒泡。
    用 “js 冒泡” 搜索一下会有很多内容的。
      

  3.   

    阻止默认的冒泡行为,因为冒泡啦所以test1运行啦,阻止冒泡的话就是你要的结果,阻止test2冒泡function test2(e){
       if(e.stopPropagation){
    e.stopPropagation();//一般浏览器的阻止冒泡
       }else{
    window.event.cancelBubble=true;//ie阻止冒泡
       }
    }但是在调用的时候onclick="test2(event)"要将event对象传过来