<div onclick="alert('p')">
<a href="http://www.csdn.net" target="_blank">csdn</a>
</div>
这样的结构,我想点击a连接时只弹出http://www.csdn.net的连接,不再执行alert('p')这个事件,如果直接停止a连接的onclick事件向下冒泡会连A连接本身的连接都打不开,有什么办法可以解决

解决方案 »

  1.   

    改成以下内容试试<div onclick="alert('p')">
    <a href="#" onclick="javascript:location.href='http://www.csdn.net';return false;">csdn </a>
    </div> 
      

  2.   

    <div onclick="if(event.srcElement==this)alert('p')">
      <a href="http://www.csdn.net" target="_blank">csdn </a>
    </div>
      

  3.   

    正解如下,本人使用中,兼容ie,ff
    <script>
    function stopBubble(e) { 
    if ( e && e.stopPropagation ) 
    e.stopPropagation(); 
    else 
    window.event.cancelBubble = true; 

    function stopDefault( e ) { 
    if ( e && e.preventDefault ) 
    e.preventDefault(); 
    else 
    window.event.returnValue = false; 
    return false; 

    </script><div onclick="alert('p')"> 
    <a href="http://www.csdn.net" target="_blank" onclick="stopBubble(event)">csdn </a> 
    </div>