我用ajax从后台读取了一些数据,然后显示在页面上,现在我想要动态的在显示的数据上添加一个click事件。javascript大神帮个忙。非常感谢

解决方案 »

  1.   

    Live Query:
    http://www.keakon.net/2009/05/23/LiveQuery%E7%9C%9F%E6%98%AF%E4%B8%AA%E4%B8%8D%E9%94%99%E7%9A%84jQuery%E6%8F%92%E4%BB%B6
      

  2.   

    基本跟在元素里添加一样的,对象.事件=function(){}
      

  3.   

    document.getElementById("name").onclick=function(){
    //click执行的代码
    }
      

  4.   

    将数据拼写成html代码 然后返回 在拼写html的时候添加 click 事件  
    例如:
    for (int i = 0; i < temp; i++)
                {
                    result += "<tr onclick=\"funGos('BlogUserPage.aspx?id=" + ds.Tables[0].Rows[i]["BlogorId"] + "')\" onmouseover=\"this.className='table_sea_b3'\" onmouseout=\"this.className='table_sea_b4'\" style=\"cursor:hand;\"><td width=\"200\" valign=\"middle\" align=\"left\">&nbsp;<img src=\"../Images/1253.png\" />&nbsp;" + (ds.Tables[0].Rows[i]["BlogorName"].ToString().Length > 18 ? ds.Tables[0].Rows[i]["BlogorName"].ToString().Substring(0, 18) + "..." : ds.Tables[0].Rows[i]["BlogorName"]) + "</td>";                result += "<td width=\"82\" align=\"center\" valign=\"middle\">" + ds.Tables[0].Rows[i]["Site_name"] + "</td>";                result += "<td width=\"72\" align=\"center\" valign=\"middle\">" + (ds.Tables[0].Rows[i]["TodCount"].ToString().Length == 0 ? "0" : ds.Tables[0].Rows[i]["TodCount"]) + "</td>";                result += "<td width=\"52\" align=\"center\" valign=\"middle\">" + (ds.Tables[0].Rows[i]["SelectedCount"].ToString().Length == 0 ? "0" : ds.Tables[0].Rows[i]["SelectedCount"]) + "</td>";                result += "<td width=\"206\" align=\"center\" valign=\"middle\">" + (ds.Tables[0].Rows[i]["Introduce"].ToString().Length > 14 ? ds.Tables[0].Rows[i]["Introduce"].ToString().Substring(0, 14) + "..." : ds.Tables[0].Rows[i]["Introduce"]) + "</td>";                result += "<td width=\"106\" align=\"center\" valign=\"middle\">" + (ds.Tables[0].Rows[i]["LostPostTime"].ToString().Length == 0 ? "" : Convert.ToDateTime(ds.Tables[0].Rows[i]["LostPostTime"]).ToString("yyyy-MM-dd HH:mm")) + "</td></tr>";
                }
      

  5.   

    我想了两个方法都是可行的.1.把click函数写在回调函数里,最直接.2.在数据中加入一个click函数句柄.这个函数可以现在外面定义好
      

  6.   

    8L的意思是不是这样:
    给一个id为tab1的添加onclick事件
    第一种情况:
    var t = document.getElementByIdx("tab1");
    t.onclick = function tst(){ 
    }
    第二种情况 这种情况更加动态,更为实用,而且还能添加多个函数(添加的事件的顺序即执行顺序),呵呵
       var tb = document.getElementByIdx("tab1");
        if(window.addEventListener){ // Mozilla, Netscape, Firefox
            td_value.addEventListener('click', alert('11'), false);
            td_value.addEventListener('click', alert('12'), false);
        } else { // IE
            td_value.attachEvent('onclick',  function(){alert('21');});
            td_value.attachEvent('onclick',  function(){alert('2'2);});
        }
    已经结贴了,不能给你分了,对不起了!