div 内部的有效链接能触发div上的事件么?
如<div class="a" onclick="dian()"><a href=1.htm>你好</a></div>
点你好能有办法触发dian()事件么?

解决方案 »

  1.   

    触发不了。只能触发 <a>标签的事件
      

  2.   

    href="javascript:dian();location.href='……'"这样试试?
      

  3.   

    你这么说,试了一下想不到,hoho
      

  4.   

    dom事件流,ie7以前触发顺序只能从外到内(div->a),称之为捕获型,正统w3c标准是包含捕获(外到内)+冒泡(内到外)两种方式,你可利用addEventListener的第3个参数指定。
      

  5.   

    请问怎么测试的?我的怎么不起作用,事件可以是简单的alert事件,请把具体代码晒一下看看
      

  6.   

    经测试,有效:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head><body>
    <div class="a" id='dian'><a href='javascript:void(0)' onclick='show()'>你好</a></div>
    <script>
      function show(){
        document.getElementById('dian').onclick=dian();
      }
      function dian(){
        alert("click ok");
      }
    </script>
    </body>
    </html>
      

  7.   

    打开连接就这样,在上面的dian()中加入:
      function dian(){
        alert("click ok");
        location.href='xxx.html';
      }
      

  8.   

    你说的是IE吧?chrome/ff应该是没问题的
    为了兼容ie的话我觉的你可能得变通,比如你现在这种情况其实相当于
    <div class="a" onclick="dian()"><a href='javascript:void(0)'>你好</a></div>
    <script type='text/javascript'>
    function dian()
    {
      //点击触发动作在这里写...
       alert(1);
      //然后跳转
      location.href = '1.html';
    }
    </script>