在运行时将事件处理程序附加到每个表单元格

时间:2012-04-12 10:05:52

标签: javascript jquery

我在设计时创建了一个表,并在运行时向其中添加了行。 我想将鼠标悬停事件附加到第一列的每一行,显示相应的工具提示。

for(ctr=0;ctr<noOfRows;ctr++){
   var myTable=document.getElementById("myTable");
   var newRow = myTable.insertRow(1);

   var cell0 = newRow.insertCell(0);
   cell0.innerHTML="Cell Data"+"<div class='hiddenToolTip' id='tip"+ctr+"'>"+tooltip+"</div>";

   cell0.onmouseover=function(){
        $("#tip"+ctr).show('blind',500);
   };

   cell0.onmouseout=function(){
        $("#tip"+ctr).hide();
   };
}

问题是'ctr'变量总是作为'onmouseover'和'onmouseout'函数内的最高值。

1 个答案:

答案 0 :(得分:2)

只需在函数参数中传递它,并使用元素的id

获取ctrl的值,如下所示
cell0.onmouseover=function()
{      
    $(this).children("div[id^='tip'] ").show('blind',500);    
    };

请检查此示例:Javascript: Adding OnMouseOver And OnMouseOut Using DOM