我用ajax返回了一个表格table,用div.innerHTML显示后,给table的onclick添加事件后没有效果,比如:table.onclick=function(){alert("ok");};该怎么才能让onclick执行?网上找到一些答案都看不太明白,哪位能详细讲讲怎么解决,谢谢。

解决方案 »

  1.   

    假如table的ID为tableID
    给table绑定事件应该这样写document.getElementById('tableID').onclick=function(){
    alert('sdf');
    };
      

  2.   

    如果事件是直接写在标签里的话,应该是可以执行的,
    但是如果原事件是通过JavaScript注册的话,就必须重新再注册一次了
      

  3.   

    <HTML>
    <head>
    <title>sample</title>
    <script language="JavaScript">
    function show(){
        var str="<table border=1><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr></table>"
        var div=document.getElementById("div1");
        div.innerHTML=str;
        div.getElementsByTagName("table")[0].onclick=function(){alert(1);};
    }
    </script>
    </head>
    <body>
    <input type=button id=btn1 onclick="show();" value="show">
    <div id=div1></div>
    </body>
    </html>
      

  4.   

    没有不执行
    <HTML>
    <head>
    <title>sample</title>
    <script language="JavaScript">
     
    function f(t)
     {
      alert(t)
      }
     function show(){
        var str="<table border=1 onclick='f(this)'><tr><td>1</td></tr><tr><td>2</td></tr><tr><td>3</td></tr></table>"
        var div=document.getElementById("div1");
        div.innerHTML=str;}
    </script>
    </head>
    <body>
    <input type=button id=btn1 onclick="show();" value="show">
    <div id=div1></div>
    </body>
    </html>你不能把函数的定义也放在返回的脚本中